ops: emit metrics on pool utilization, queue depth, and job success/failure rates #164
Labels
No labels
kind
bug
kind
enhancement
wayfinder
grilling
wayfinder
map
wayfinder
prototype
wayfinder
research
wayfinder
task
workflow
needs-info
workflow
needs-triage
workflow
ready-for-agent
workflow
ready-for-human
workflow
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rosa/vernier#164
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found during an operational-resilience review (Release It! stability rules).
Location:
crates/server/src/main.rs(init_telemetry) — tracing export onlySeverity: Low — operational transparency
Problem
The system exports OTLP tracing spans but emits no metrics. There is no signal for pool utilization, job-queue depth, or job success/failure rates. Traces show individual requests after the fact; they do not let an operator watch saturation build — a connection pool creeping toward its cap, a job queue growing because consumers have fallen behind — before it becomes an outage. This is the gap between "can debug one request" and "can see the system's health."
Suggested fix
Emit metrics for the integration points and resource pools: connection-pool utilization (app pool and job-store pool), apalis queue depth, and job success/failure counts. The OpenTelemetry metrics pipeline can run alongside the existing tracing export; keep it opt-in on the same configuration switch as OTLP tracing (see #155) so a small-box deploy needs no collector.
https://docs.rs/apalis/0.7.4/apalis/layers/trait.WorkerBuilderExt.html#tymethod.enable_tracing