fix(observability): restore historical continuity in the AI Usage and GPU Metrics dashboards#6804
Conversation
…hboard #5522's hard-cutover rename of the gittensory_ metric prefix to loopover_ left this dashboard's 9 loopover_ai_* queries with no fallback to their pre-rebrand names, so every panel here only ever showed data recorded after that cutover -- confirmed live, both metric names have real historical series in Prometheus going back well past the cutover. Applies the same (loopover_x or gittensory_x) union fix already shipped for grafana/dashboards/gittensory.json (#6779/#6787), including that fix's own lesson: a label matcher like {provider="codex"} must bind to each side of the union individually, never to the closing paren of the union as a whole -- verified all 9 rewritten queries directly against live Prometheus before deploying. Deployed to edge-nl-01 and restarted Grafana to force a clean reprovision.
…dashboard Same #5522 hard-cutover gap as ai-usage.json: the 3 AI-provider request metrics (rate/latency/error-rate panels) had no fallback to their pre-rebrand gittensory_ names, truncating history to the post-cutover window. All 3 metrics confirmed to have real historical series in Prometheus under the old name before applying the union fix. No existing test file covered this dashboard at all -- added one scoped to this fix rather than backfilling full dashboard coverage. Deployed to edge-nl-01 and restarted Grafana to force a clean reprovision.
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6804 +/- ##
=======================================
Coverage 93.63% 93.63%
=======================================
Files 683 683
Lines 68148 68148
Branches 18703 18703
=======================================
Hits 63812 63812
Misses 3350 3350
Partials 986 986
Flags with carried forward coverage won't be shown. Click here to find out more. |
|
Warning ⏸️ LoopOver review result - manual review recommendedReview updated: 2026-07-17 07:16:28 UTC
Review summary Nits — 4 non-blocking
Concerns raised — review before merging
📋 Copy for AI agents — paste into your coding agentDecision drivers
Context & advisory signals — never blocks the verdict
Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Summary
grafana/dashboards/gittensory.json): the same refactor(observability): hard-cutover rename gittensory_ metric prefix to loopover_ #5522 hard-cutover rename touched all 10 dashboard JSON files, with nogittensory_fallback anywhere. Audited the other 9 — 7 use SQL, third-party exporter metrics (node_*,pg_stat_*), or other datasources that were never gittensory-prefixed, so onlyai-usage.json(9 queries) andgpu-metrics.json(5 queries, 3 underlying metrics) needed the fix.(loopover_x or gittensory_x)union pattern, carefully avoiding the label-matcher-after-closing-paren bug found and fixed in fix(test): update grafana dashboard assertions for the historical-continuity query rewrite #6787 — every rewritten query validated directly against live Prometheus before deploying, confirming both metric names carry real historical series.gpu-metrics.jsonhad no existing test file at all; added one scoped to this fix.edge-nl-01and restarted Grafana to force a clean reprovision — confirmed via provisioning logs, no errors.Scope
Validation
npx vitest run test/unit/selfhost-grafana-ai-usage-dashboard.test.ts test/unit/selfhost-grafana-gpu-metrics-dashboard.test.ts— 13/13 passingloopover_ai_*/loopover_ai_provider_*queries in either file, and zero label-after-paren syntax issues