Add Grafana golden signals dashboard for landscaping-assistant #402
No reviewers
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/pal-e-platform!402
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "16-landscaping-golden-signals"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #401
Cross-repo work for landscaping-assistant#16
Summary
grafana_dashboard: "1"sidecar labelrails_requests_total,rails_request_duration_bucket,rails_db_runtime_bucket,rails_view_runtime_bucket) — not generichttp_*metricspuma_threads_running,puma_threads_total,puma_threads_backlog,puma_workers,puma_threads_pool_capacity)Panels (12 total across 4 golden signal sections)
Changes
terraform/dashboards/landscaping-assistant-golden-signals.json— new dashboard definitionterraform/modules/monitoring/main.tf— newkubernetes_config_map_v1resourceTest Plan
tofu planshows only the new ConfigMap resourceReview Checklist
${DS_PROMETHEUS}datasource variablenamespace="landscaping-assistant"depends_onset to kube_prometheus_stack helm releaseAcceptance Criteria
Related Notes
pal-e-app-golden-signals.jsonPR #402 Review
DOMAIN REVIEW
Tech stack: Terraform (kubernetes_config_map_v1 resource) + Grafana dashboard JSON (PromQL queries against yabeda-rails and yabeda-puma-plugin metrics).
Terraform:
believers_elite_dashboardpattern: same metadata layout,grafana_dashboard = "1"sidecar label, namespace reference viakubernetes_namespace_v1.monitoring.metadata[0].name, file path using${path.module}/../../dashboards/, anddepends_onfor the helm release.main.tfis correct -- inserted between the believers_elite_dashboard block and the payment pipeline alerts section.tofu planshould show a single newkubernetes_config_map_v1resource with no modifications or destroys.Dashboard JSON:
id: null(correct for sidecar provisioning),uid: "landscaping-assistant-golden-signals"(deterministic, avoids duplicates),schemaVersion: 39,version: 1.${DS_PROMETHEUS}datasource variable properly declared intemplating.listand referenced on every panel and target. Consistent with the believers-elite pattern.namespace="landscaping-assistant"filter -- no cross-namespace data leakage.PromQL correctness:
histogram_quantilecalls correctly groupby (le)for p50/p95/p99 latency percentiles.clamp_minin both the error percentage query (clamp_min(..., 0.001)) and the Puma utilization percentage query (clamp_min(..., 1)). Good practice.rate()windows consistent at[5m]across all panels.status=~"5.."regex correctly matches 5xx status codes.container_cpu_usage_seconds_totalandcontainer_memory_working_set_byteswith proper container exclusion filters (container!="",container!="POD").rails_requests_total,rails_request_duration_bucket,rails_db_runtime_bucket,rails_view_runtime_bucket,puma_threads_running,puma_threads_total,puma_threads_backlog,puma_workers,puma_threads_pool_capacity) are consistent with yabeda-rails and yabeda-puma-plugin conventions.BLOCKERS
None.
tofu plan+ visual verification is the correct validation strategy for a Grafana dashboard JSON + Terraform ConfigMap. There is no unit-testable logic here.NITS
Branch naming: Branch is
16-landscaping-golden-signals, referencinglandscaping-assistant#16(the cross-repo parent). SOP convention is{issue-number}-{kebab-case-purpose}where the issue number should be the local repo issue -- in this case401-landscaping-golden-signals. This is a minor process nit, not a blocker, since the PR body clearly documents both the local close (Closes #401) and the cross-repo reference.Legend calc consistency: The believers-elite dashboard uses
["mean", "lastNotNull", "sum"]in legend calcs, while this dashboard uses["mean", "lastNotNull"](no"sum"). The omission ofsumis arguably correct for rate-based golden signal panels (summing rates over time is misleading), so this is actually an improvement over the existing pattern rather than a deviation. Just noting the difference.PR body Related section: The body references
landscaping-assistant#16andlandscaping-assistant#43inline, but does not have a formal## Relatedsection with a plan slug. Minor template deviation.SOP COMPLIANCE
16(cross-repo) instead of401(local). Non-blocking.## Relatedsection with plan slug.PROCESS OBSERVATIONS
http_*metrics.landscaping-assistant#16andlandscaping-assistant#43.VERDICT: APPROVED