Skip to content

feat: make JVM dashboards incident-drilldown ready#268

Merged
rlaope merged 1 commit into
masterfrom
codex/dashboard-grafana-local-ultragoal
Jun 8, 2026
Merged

feat: make JVM dashboards incident-drilldown ready#268
rlaope merged 1 commit into
masterfrom
codex/dashboard-grafana-local-ultragoal

Conversation

@rlaope

@rlaope rlaope commented Jun 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Refresh Grafana into an incident-first dashboard with datasource/fleet variables, PromQL label filters, drilldown links, GC percentiles, allocation/contention/profiling panels, and Helm dashboard parity.
  • Add a shared dashboard contract plus regression tests that validate metric references, label matchers, panel shape, drilldowns, and chart/docs dashboard sync.
  • Strengthen the local dashboard/Fleet/Profiles/Console selected-pod flow with a shared pod-context.js, incident synopsis, Fleet top reasons, and preserved pod/profile/console links.

Verification

  • ./gradlew test
  • ./gradlew :argus-server:test --tests io.argus.server.metrics.GrafanaDashboardMetricReferencesTest --tests io.argus.server.metrics.DashboardStaticAssetsSmokeTest
  • node --check on changed dashboard JS files
  • Grafana JSON parse, panel-shape, PromQL selector, and Helm parity script: 68 panels, 74 filtered expressions
  • git diff --check
  • Local HTTP smoke for /, /fleet.html, /profiles.html?pod=..., /console.html?pod=..., and /js/pod-context.js

Quality Gate

  • ai-slop-cleaner scoped pass: passed; no masking fallback slop in changed scope.
  • Independent code-reviewer lane: APPROVE, zero CRITICAL/HIGH/MEDIUM/LOW findings after fixes.
  • Independent architect lane: CLEAR after Fleet initial selection moved into shared ArgusPodContext.

Dashboard operators need one contract across Grafana, Helm, Fleet, Profiles, and Console so incident triage does not drift between fleet and selected-pod views.

Constraint: Grafana, Helm, and static local dashboards must stay dependency-light and work for unlabeled local Prometheus scrapes.
Rejected: Treat Grafana variables as display-only | filters must affect panel PromQL and be regression-tested.
Rejected: Keep per-page pod selection helpers | shared pod-context prevents drift across dashboard surfaces.
Confidence: high
Scope-risk: moderate
Directive: Keep docs/grafana-dashboard.json and charts/argus/dashboards/argus-jvm-observability.json byte-equivalent; update docs/dashboard-contract.md before adding dashboard metrics.
Tested: ./gradlew test; targeted dashboard tests; node --check changed dashboard JS; Grafana JSON selector/chart parity; git diff --check; local curl smoke.
Not-tested: Browser visual automation was unavailable in Codex tool search; static HTTP smoke covered page load only.
Signed-off-by: rlaope <piyrw9754@gmail.com>
@rlaope rlaope merged commit 861a26b into master Jun 8, 2026
11 checks passed
@rlaope rlaope deleted the codex/dashboard-grafana-local-ultragoal branch June 8, 2026 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant