Grafana dashboard: tier variable + filtered overview #427

Closed
opened 2026-06-13 18:35:11 +00:00 by ldraney · 1 comment
Owner

Type

Feature

Lineage

Migrated from ldraney/DORA#2.
Depends on exporter tier label issue (exporter must emit the tier label first).

Repo

ldraney/pal-e-platform

User Story

As a platform operator
I want playground repos excluded from DORA composite scores
So that metrics reflect real production health

Context

The current Grafana DORA dashboard has a $repo variable that shows every Forgejo repo. Once the exporter emits a tier label, the dashboard needs a tier dropdown so overview panels aggregate only production repos by default.

File Targets

Files the agent should modify or create:

  • terraform/dashboards/dora-dashboard.json — add tier variable, update overview panel queries

Files the agent should NOT touch:

  • terraform/modules/monitoring/main.tf — no infra changes needed

Feature Flag

None required — dashboard variable is additive.

Acceptance Criteria

  • Dashboard has a tier dropdown: Tier 1 (Production), Tier 1+2 (All Tracked), All
  • Overview stat panels filter by tier=~"$tier"
  • Default selection is Tier 1 (Production)

Test Expectations

  • Manual: verify dropdown appears and filters panels correctly in Grafana

Constraints

  • Dashboard JSON is managed in Terraform — changes must be applied via tofu apply
  • Must not break existing $repo variable functionality

Checklist

  • PR opened
  • Tests pass
  • No unrelated changes
  • dora-metrics — project this affects
  • Tier label exporter issue — dependency
### Type Feature ### Lineage Migrated from ldraney/DORA#2. Depends on exporter tier label issue (exporter must emit the tier label first). ### Repo `ldraney/pal-e-platform` ### User Story As a platform operator I want playground repos excluded from DORA composite scores So that metrics reflect real production health ### Context The current Grafana DORA dashboard has a `$repo` variable that shows every Forgejo repo. Once the exporter emits a `tier` label, the dashboard needs a tier dropdown so overview panels aggregate only production repos by default. ### File Targets Files the agent should modify or create: - `terraform/dashboards/dora-dashboard.json` — add tier variable, update overview panel queries Files the agent should NOT touch: - `terraform/modules/monitoring/main.tf` — no infra changes needed ### Feature Flag None required — dashboard variable is additive. ### Acceptance Criteria - [ ] Dashboard has a `tier` dropdown: Tier 1 (Production), Tier 1+2 (All Tracked), All - [ ] Overview stat panels filter by `tier=~"$tier"` - [ ] Default selection is Tier 1 (Production) ### Test Expectations - [ ] Manual: verify dropdown appears and filters panels correctly in Grafana ### Constraints - Dashboard JSON is managed in Terraform — changes must be applied via `tofu apply` - Must not break existing `$repo` variable functionality ### Checklist - [ ] PR opened - [ ] Tests pass - [ ] No unrelated changes ### Related - `dora-metrics` — project this affects - Tier label exporter issue — dependency
Author
Owner

Issue #427 Template Review

TEMPLATE CONFORMANCE

  • ### Type -- present: Feature
  • ### Lineage -- present: references DORA#2 migration + exporter dependency
  • ### Repo -- present: ldraney/pal-e-platform
  • ### User Story -- present: proper As/I want/So that format
  • ### Context -- present: explains motivation clearly
  • ### File Targets -- present: specific file path + exclusion list
  • ### Feature Flag -- present: "None required" with rationale (additive change)
  • ### Acceptance Criteria -- present: 3 checkbox items
  • ### Test Expectations -- present: manual verification described
  • ### Constraints -- present: Terraform workflow + backward compatibility
  • ### Checklist -- present: standard items
  • ### Related -- present: project + dependency reference

All 12 required sections present and non-empty.

CONTENT QUALITY

File Targets -- VERIFIED. terraform/dashboards/dora-dashboard.json exists in the repo (confirmed via API and local filesystem). Exclusion of terraform/modules/monitoring/main.tf is reasonable since this is a dashboard-only change.

Dependency -- SATISFIED. Lineage states "Depends on exporter tier label issue (exporter must emit the tier label first)." Verified that ldraney/DORA#1 ("Add tier label to pal-e-dora-exporter") is closed. This issue is clear to proceed without a blocking upstream dependency.

Scope -- CLEAN. Single file modification to an existing dashboard JSON. One deployable unit applied via tofu apply. No infrastructure changes, no cross-repo coordination needed at implementation time.

User Story -- CLEAR. Concrete persona (platform operator), concrete desire (exclude playground repos), concrete rationale (metrics reflect production health).

Acceptance Criteria -- ADEQUATE. Three testable items covering the dropdown, query filtering, and default selection. Sufficient for a dashboard variable addition.

BLOCKERS

None.

NITS

  1. Related section -- vague dependency reference. "Tier label exporter issue -- dependency" should cite the specific issue number (ldraney/DORA#1) for traceability. The Lineage section references DORA#2 correctly but the Related section does not cross-reference DORA#1.

  2. Acceptance Criteria -- tier values unspecified. The dropdown lists "Tier 1 (Production), Tier 1+2 (All Tracked), All" but does not specify the actual label values the tier=~"$tier" regex should match (e.g., tier="1", tier=~"1|2", tier=~".*"). This could cause ambiguity during implementation. Consider adding the expected PromQL regex values.

  3. Test Expectations -- no negative case. Only manual positive verification is listed. Consider adding: "Verify playground repos are excluded when Tier 1 is selected" as a negative test case.

PROCESS OBSERVATIONS

This issue was migrated from ldraney/DORA#2 (now closed) into the platform repo where the dashboard JSON actually lives. The migration is clean -- the issue correctly identifies the repo and file target. The dependency chain (DORA#1 -> DORA#2 -> pal-e-platform#427) is traceable through the Lineage section.

VERDICT: APPROVED

## Issue #427 Template Review ### TEMPLATE CONFORMANCE - [x] `### Type` -- present: Feature - [x] `### Lineage` -- present: references DORA#2 migration + exporter dependency - [x] `### Repo` -- present: `ldraney/pal-e-platform` - [x] `### User Story` -- present: proper As/I want/So that format - [x] `### Context` -- present: explains motivation clearly - [x] `### File Targets` -- present: specific file path + exclusion list - [x] `### Feature Flag` -- present: "None required" with rationale (additive change) - [x] `### Acceptance Criteria` -- present: 3 checkbox items - [x] `### Test Expectations` -- present: manual verification described - [x] `### Constraints` -- present: Terraform workflow + backward compatibility - [x] `### Checklist` -- present: standard items - [x] `### Related` -- present: project + dependency reference All 12 required sections present and non-empty. ### CONTENT QUALITY **File Targets -- VERIFIED.** `terraform/dashboards/dora-dashboard.json` exists in the repo (confirmed via API and local filesystem). Exclusion of `terraform/modules/monitoring/main.tf` is reasonable since this is a dashboard-only change. **Dependency -- SATISFIED.** Lineage states "Depends on exporter tier label issue (exporter must emit the tier label first)." Verified that `ldraney/DORA#1` ("Add tier label to pal-e-dora-exporter") is **closed**. This issue is clear to proceed without a blocking upstream dependency. **Scope -- CLEAN.** Single file modification to an existing dashboard JSON. One deployable unit applied via `tofu apply`. No infrastructure changes, no cross-repo coordination needed at implementation time. **User Story -- CLEAR.** Concrete persona (platform operator), concrete desire (exclude playground repos), concrete rationale (metrics reflect production health). **Acceptance Criteria -- ADEQUATE.** Three testable items covering the dropdown, query filtering, and default selection. Sufficient for a dashboard variable addition. ### BLOCKERS None. ### NITS 1. **Related section -- vague dependency reference.** "Tier label exporter issue -- dependency" should cite the specific issue number (`ldraney/DORA#1`) for traceability. The Lineage section references DORA#2 correctly but the Related section does not cross-reference DORA#1. 2. **Acceptance Criteria -- tier values unspecified.** The dropdown lists "Tier 1 (Production), Tier 1+2 (All Tracked), All" but does not specify the actual label values the `tier=~"$tier"` regex should match (e.g., `tier="1"`, `tier=~"1|2"`, `tier=~".*"`). This could cause ambiguity during implementation. Consider adding the expected PromQL regex values. 3. **Test Expectations -- no negative case.** Only manual positive verification is listed. Consider adding: "Verify playground repos are excluded when Tier 1 is selected" as a negative test case. ### PROCESS OBSERVATIONS This issue was migrated from `ldraney/DORA#2` (now closed) into the platform repo where the dashboard JSON actually lives. The migration is clean -- the issue correctly identifies the repo and file target. The dependency chain (DORA#1 -> DORA#2 -> pal-e-platform#427) is traceable through the Lineage section. ### VERDICT: APPROVED
Sign in to join this conversation.
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/pal-e-platform#427
No description provided.