[DUPLICATE of #16] Create golden signals Grafana dashboard #22

Closed
opened 2026-05-25 03:05:31 +00:00 by ldraney · 0 comments
Owner

Type

Feature

Lineage

Standalone -- discovered during DORA metrics gap analysis. Other platform apps have golden signals dashboards but landscaping-assistant does not.

Repo

ldraney/pal-e-platform

User Story

As a platform operator
I want a golden signals Grafana dashboard for landscaping-assistant
So that I can monitor latency, traffic, errors, and saturation alongside DORA metrics

Context

The platform has golden signals dashboards for basketball-api, pal-e-app, and playme2k, provisioned as ConfigMaps in pal-e-platform/terraform/modules/monitoring/main.tf. landscaping-assistant does not have one. A golden signals dashboard provides the operational visibility needed to complement DORA metrics -- specifically, change failure rate detection relies on error rate spikes after deployments, and MTTR relies on knowing when the service recovered. This depends on issue #15 (ServiceMonitor label mismatch) being resolved first so Prometheus can scrape the app's metrics.

File Targets

Files the agent should modify or create:

  • terraform/dashboards/landscaping-assistant-golden-signals.json -- new dashboard JSON
  • terraform/modules/monitoring/main.tf -- add ConfigMap resource to provision the dashboard

Files the agent should NOT touch:

  • Existing dashboard files for other apps
  • Any landscaping-assistant app code

Acceptance Criteria

  • Dashboard JSON created following the pattern of existing golden signals dashboards (e.g. basketball-api-golden-signals.json)
  • ConfigMap resource added in monitoring main.tf with grafana_dashboard = "1" label
  • Dashboard shows request rate, error rate, latency percentiles, and pod resource usage
  • Dashboard appears in Grafana after terraform apply

Test Expectations

  • Manual: terraform plan shows only the new ConfigMap resource
  • Manual: dashboard renders in Grafana (panels may show "no data" until #15 is fixed)
  • Run command: terraform plan -target=kubernetes_config_map_v1.landscaping_assistant_dashboard

Constraints

  • Follow existing dashboard patterns (copy structure from basketball-api-golden-signals.json or playme2k-golden-signals.json)
  • Use Rails-appropriate metrics (e.g. http_server_request_duration_seconds if using rack middleware, or custom metrics from the app)
  • Blocked by #15 -- ServiceMonitor must be working for metrics to flow

Checklist

  • PR opened against pal-e-platform
  • Dashboard JSON validates
  • terraform plan shows expected diff
  • No unrelated changes
  • project-landscaping-assistant -- project this affects
  • Issue #15 -- ServiceMonitor label mismatch (blocker for metrics scraping)
  • Issue #21 -- blackbox uptime monitoring (complementary)
### Type Feature ### Lineage Standalone -- discovered during DORA metrics gap analysis. Other platform apps have golden signals dashboards but landscaping-assistant does not. ### Repo `ldraney/pal-e-platform` ### User Story As a platform operator I want a golden signals Grafana dashboard for landscaping-assistant So that I can monitor latency, traffic, errors, and saturation alongside DORA metrics ### Context The platform has golden signals dashboards for basketball-api, pal-e-app, and playme2k, provisioned as ConfigMaps in `pal-e-platform/terraform/modules/monitoring/main.tf`. landscaping-assistant does not have one. A golden signals dashboard provides the operational visibility needed to complement DORA metrics -- specifically, change failure rate detection relies on error rate spikes after deployments, and MTTR relies on knowing when the service recovered. This depends on issue #15 (ServiceMonitor label mismatch) being resolved first so Prometheus can scrape the app's metrics. ### File Targets Files the agent should modify or create: - `terraform/dashboards/landscaping-assistant-golden-signals.json` -- new dashboard JSON - `terraform/modules/monitoring/main.tf` -- add ConfigMap resource to provision the dashboard Files the agent should NOT touch: - Existing dashboard files for other apps - Any landscaping-assistant app code ### Acceptance Criteria - [ ] Dashboard JSON created following the pattern of existing golden signals dashboards (e.g. `basketball-api-golden-signals.json`) - [ ] ConfigMap resource added in monitoring main.tf with `grafana_dashboard = "1"` label - [ ] Dashboard shows request rate, error rate, latency percentiles, and pod resource usage - [ ] Dashboard appears in Grafana after terraform apply ### Test Expectations - [ ] Manual: `terraform plan` shows only the new ConfigMap resource - [ ] Manual: dashboard renders in Grafana (panels may show "no data" until #15 is fixed) - Run command: `terraform plan -target=kubernetes_config_map_v1.landscaping_assistant_dashboard` ### Constraints - Follow existing dashboard patterns (copy structure from `basketball-api-golden-signals.json` or `playme2k-golden-signals.json`) - Use Rails-appropriate metrics (e.g. `http_server_request_duration_seconds` if using rack middleware, or custom metrics from the app) - Blocked by #15 -- ServiceMonitor must be working for metrics to flow ### Checklist - [ ] PR opened against pal-e-platform - [ ] Dashboard JSON validates - [ ] terraform plan shows expected diff - [ ] No unrelated changes ### Related - `project-landscaping-assistant` -- project this affects - Issue #15 -- ServiceMonitor label mismatch (blocker for metrics scraping) - Issue #21 -- blackbox uptime monitoring (complementary)
ldraney changed title from Create golden signals Grafana dashboard for landscaping-assistant to [DUPLICATE of #16] Create golden signals Grafana dashboard 2026-05-29 12:12:32 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/landscaping-assistant#22
No description provided.