Add Grafana golden signals dashboard #16

Closed
opened 2026-05-25 03:04:01 +00:00 by ldraney · 4 comments
Owner

Type

Feature

Summary

Add a Grafana golden signals dashboard for landscaping-assistant, provisioned via Terraform ConfigMap.

Completed via cross-repo PR: pal-e-platform#402

Panels: request rate by controller, latency percentiles (p50/p95/p99), DB/view runtime breakdown, 5xx error rate, Puma thread utilization, CPU/memory vs limits, worker pool capacity. Uses yabeda-rails and yabeda-puma-plugin metrics.

Status: DONE — needs tofu apply to provision the ConfigMap to the cluster.

### Type Feature ### Summary Add a Grafana golden signals dashboard for landscaping-assistant, provisioned via Terraform ConfigMap. **Completed via cross-repo PR:** [pal-e-platform#402](https://forgejo.tail5b443a.ts.net/ldraney/pal-e-platform/pulls/402) Panels: request rate by controller, latency percentiles (p50/p95/p99), DB/view runtime breakdown, 5xx error rate, Puma thread utilization, CPU/memory vs limits, worker pool capacity. Uses yabeda-rails and yabeda-puma-plugin metrics. **Status: DONE** — needs `tofu apply` to provision the ConfigMap to the cluster.
Author
Owner

Scope review note (review-16-2026-06-01): APPROVED with minor gap — issue mentions the JSON dashboard file but a kubernetes_config_map_v1 resource block in terraform/modules/monitoring/main.tf is also required. Developer will see the pattern from existing apps.

**Scope review note (review-16-2026-06-01):** APPROVED with minor gap — issue mentions the JSON dashboard file but a `kubernetes_config_map_v1` resource block in `terraform/modules/monitoring/main.tf` is also required. Developer will see the pattern from existing apps.
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-1292-2026-06-02

Issue is well-structured but has two body fixes and two missing traceability notes.

Body fixes needed:

  • File Targets section is missing terraform/modules/monitoring/main.tf -- every dashboard requires an explicit kubernetes_config_map_v1 resource block (no auto-discovery). Without it, the JSON won't be provisioned to Grafana.
  • Constraints section references basketball-api-golden-signals.json as the pattern, but that dashboard is webhook-specific (11 webhook panels). The correct pattern is pal-e-app-golden-signals.json (request rate, p50/p95/p99 latency, 5xx error rate, CPU/memory saturation).

Traceability gaps:

  • [SCOPE] No "observability" user story entry on project-landscaping-assistant user-stories section
  • [SCOPE] No arch-platform architecture note exists in pal-e-docs

Dependency update: #19 is now resolved (merged as PR #47). #15 remains open (todo column) -- soft dependency, dashboard can deploy but panels will be empty until ServiceMonitor is fixed.

## Scope Review: NEEDS_REFINEMENT Review note: `review-1292-2026-06-02` Issue is well-structured but has two body fixes and two missing traceability notes. **Body fixes needed:** - File Targets section is missing `terraform/modules/monitoring/main.tf` -- every dashboard requires an explicit `kubernetes_config_map_v1` resource block (no auto-discovery). Without it, the JSON won't be provisioned to Grafana. - Constraints section references `basketball-api-golden-signals.json` as the pattern, but that dashboard is webhook-specific (11 webhook panels). The correct pattern is `pal-e-app-golden-signals.json` (request rate, p50/p95/p99 latency, 5xx error rate, CPU/memory saturation). **Traceability gaps:** - `[SCOPE]` No "observability" user story entry on `project-landscaping-assistant` user-stories section - `[SCOPE]` No `arch-platform` architecture note exists in pal-e-docs **Dependency update:** #19 is now resolved (merged as PR #47). #15 remains open (todo column) -- soft dependency, dashboard can deploy but panels will be empty until ServiceMonitor is fixed.
Author
Owner

Scope refinement (review-1292-2026-06-02):

  1. Added file target: terraform/modules/monitoring/main.tf — all 6 existing dashboards require a kubernetes_config_map_v1 resource block here. Without it, the JSON file is never provisioned to Grafana.
  2. Corrected pattern reference: Changed from basketball-api-golden-signals.json to pal-e-app-golden-signals.json — basketball-api has webhook-specific panels, pal-e-app has the standard golden signals matching our acceptance criteria.
  3. Added terraform plan check to test expectations and checklist.
  4. Added metric name verification note — yabeda metric names may differ from standard Prometheus naming; verify from live /metrics once #15 lands.
  5. Added parent/dependency references to Related section.
**Scope refinement (review-1292-2026-06-02):** 1. **Added file target**: `terraform/modules/monitoring/main.tf` — all 6 existing dashboards require a `kubernetes_config_map_v1` resource block here. Without it, the JSON file is never provisioned to Grafana. 2. **Corrected pattern reference**: Changed from `basketball-api-golden-signals.json` to `pal-e-app-golden-signals.json` — basketball-api has webhook-specific panels, pal-e-app has the standard golden signals matching our acceptance criteria. 3. **Added terraform plan check** to test expectations and checklist. 4. **Added metric name verification note** — yabeda metric names may differ from standard Prometheus naming; verify from live `/metrics` once #15 lands. 5. **Added parent/dependency references** to Related section.
Author
Owner

Scope Review: APPROVED

Review note: review-1292-2026-06-02 (updated)

Re-review after refinement. Both [BODY] findings from prior review are fixed: main.tf file target added, pattern reference corrected to pal-e-app. Issue body is complete and ready for implementation.

Two [SCOPE] items carried forward (do not block implementation):

  • Create "observability" user story entry on project-landscaping-assistant
  • Create architecture note arch-platform
## Scope Review: APPROVED Review note: `review-1292-2026-06-02` (updated) Re-review after refinement. Both [BODY] findings from prior review are fixed: main.tf file target added, pattern reference corrected to pal-e-app. Issue body is complete and ready for implementation. Two [SCOPE] items carried forward (do not block implementation): - Create "observability" user story entry on project-landscaping-assistant - Create architecture note arch-platform
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#16
No description provided.