feat(observability): scrape REES metrics + add a dedicated REES Grafana dashboard - #5412
Conversation
…na dashboard Adds a rees scrape target to prometheus.yml (gated the same way as the other optional-profile targets -- absent target just shows down, no alert fires) and a new Gittensory — REES (review-enrichment) dashboard: request outcomes/latency, plus per-analyzer run rate, status breakdown, and slowest-analyzer latency. Completes the remaining deliverables from the REES metrics tracking issue; the instrumentation itself shipped in the prior PR. Every PromQL expression verified live against edge-nl-01's Prometheus + Grafana after rebuilding REES with the new metrics code and sending a real /v1/enrich request -- confirmed real data flows end to end (exporter -> scrape -> query). Part of #5365, closes #5367
|
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 #5412 +/- ##
==========================================
- Coverage 94.45% 94.41% -0.04%
==========================================
Files 552 552
Lines 44310 44310
Branches 14659 14659
==========================================
- Hits 41851 41834 -17
- Misses 1784 1801 +17
Partials 675 675
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ Gittensory review result - approve/merge recommendedReview updated: 2026-07-12 18:22:19 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 6 non-blocking
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory 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://gittensory.aethereal.dev/docs/gittensory-commands 🟩 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 Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Summary
reesscrape target toprometheus/prometheus.yml, gated the same way as the other optional-profile targets (postgres/gpu/qdrant) — absent/down when--profile reesisn't active, no alert fires.grafana/dashboards/rees-metrics.json: request outcomes/latency by status, non-ok outcome rate, top analyzers by run rate, analyzer status breakdown, and slowest-analyzer p95 latency (bounded withtopkon every per-analyzer breakdown so a future analyzer influx can't unbound the panel legend).resource-hub.jsoncatalog entry + a dedicated dashboard test.Verified live end to end on edge-nl-01 (not just structural JSON/PromQL validation):
/metricsreturns real data after triggering a real/v1/enrichcall (rees_analyzer_runs_total,rees_enrich_requests_total, both histograms all populated correctly).prometheus.ymlto the live Prometheus, confirmed thereestarget showsupwith zero scrape errors.status: success.GET /api/dashboards/uid/gittensory-reesreturns the expected title/8 panels) and that Grafana's own datasource proxy returns real query results, not just a loaded-but-empty panel.Part of #5365. Closes #5367.
Test plan
npm run typechecknpm run test:ci(full local gate: 15099 passed / 12 skipped — one unrelatedminer-repo-clone.test.tstimeout flake on the first run, confirmed by isolated re-run + a second full cleantest:cipass)npm audit --audit-level=moderate— 0 vulnerabilitiesnode scripts/validate-observability-configs.mjs