There's no Prometheus/OpenTelemetry/StatsD instrumentation anywhere in this service — no request latency histograms, no Horizon-call-duration metrics, no error-rate counters. Combined with the missing correlation IDs (separate issue), this makes the service effectively unobservable in production beyond raw access logs. Instrument the service properly.
Definition of done:
- Request latency and error-rate metrics exposed per route
- Horizon call latency/failure-rate tracked separately from overall request latency (so a slow Horizon vs a slow local bug are distinguishable)
- Metrics endpoint doesn't require the API key (operationally it needs to be scrapeable) but isn't itself sensitive
Before opening a PR for this issue, read CONTRIBUTING.md.
This is not a starter-issue. The Definition of done above is the full
acceptance criteria, not a subset to sample from — a PR that addresses part
of it is an unfinished issue, not a smaller one. Your PR must include, in
the PR description itself:
PRs missing these will be sent back before review, not reviewed and rejected — please do this up front.
There's no Prometheus/OpenTelemetry/StatsD instrumentation anywhere in this service — no request latency histograms, no Horizon-call-duration metrics, no error-rate counters. Combined with the missing correlation IDs (separate issue), this makes the service effectively unobservable in production beyond raw access logs. Instrument the service properly.
Definition of done:
Before opening a PR for this issue, read CONTRIBUTING.md.
This is not a starter-issue. The Definition of done above is the full
acceptance criteria, not a subset to sample from — a PR that addresses part
of it is an unfinished issue, not a smaller one. Your PR must include, in
the PR description itself:
PRs missing these will be sent back before review, not reviewed and rejected — please do this up front.