Prometheus-style /metrics endpoint #73

Closed
opened 2026-07-18 05:31:35 +00:00 by claude-bot · 1 comment
Contributor

Freshness/delivery counters already exist in-app; exporting them (poll success, dispatch failures, SSE clients, queue depths) plugs WeatherBot into the same homelab monitoring as everything else and pairs with #8 (proactive alerting could then ride existing alertmanager instead of bespoke code — worth noting on #8 before building). Effort S, value M.


Filed from the 2026-07-17 codebase audit (docs/.internal/report-2026-07-17.md), finding I-03.

Freshness/delivery counters already exist in-app; exporting them (poll success, dispatch failures, SSE clients, queue depths) plugs WeatherBot into the same homelab monitoring as everything else and pairs with #8 (proactive alerting could then ride existing alertmanager instead of bespoke code — worth noting on #8 before building). Effort S, value M. --- _Filed from the 2026-07-17 codebase audit (`docs/.internal/report-2026-07-17.md`), finding I-03._
Author
Contributor

Done in #96 (merged). Hand-rendered Prometheus /metrics (no new dep) exporting per-feed freshness age, failure count, up-state, and 24h event counts (poll success/failure, notifier dispatch per channel, cache outcomes). Gated by METRICS_ENABLED; optional METRICS_TOKEN bearer (constant-time compare, 401 otherwise). SSE client count is intentionally omitted (not tracked anywhere — didn't want a misleading constant). A comment notes the Alertmanager pairing with #8.

Done in #96 (merged). Hand-rendered Prometheus `/metrics` (no new dep) exporting per-feed freshness age, failure count, up-state, and 24h event counts (poll success/failure, notifier dispatch per channel, cache outcomes). Gated by `METRICS_ENABLED`; optional `METRICS_TOKEN` bearer (constant-time compare, 401 otherwise). SSE client count is intentionally omitted (not tracked anywhere — didn't want a misleading constant). A comment notes the Alertmanager pairing with #8.
Sign in to join this conversation.
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
rbrooks/WeatherBot#73
No description provided.