Skip to content

feat: add built-in Prometheus-compatible metrics middleware#41

Merged
alexferl merged 5 commits intomasterfrom
metrics
Mar 9, 2026
Merged

feat: add built-in Prometheus-compatible metrics middleware#41
alexferl merged 5 commits intomasterfrom
metrics

Conversation

@alexferl
Copy link
Copy Markdown
Owner

@alexferl alexferl commented Mar 8, 2026

Zero-dependency metrics collection with Counter, Gauge, and Histogram types. Auto-collects HTTP request metrics with customizable labels. Exposes Prometheus format at /metrics endpoint.

Zero-dependency metrics collection with Counter, Gauge, and Histogram
types. Auto-collects HTTP request metrics with customizable labels.
Exposes Prometheus format at /metrics endpoint.

Signed-off-by: alexferl <me@alexferl.com>
@coveralls
Copy link
Copy Markdown

coveralls commented Mar 8, 2026

Pull Request Test Coverage Report for Build 22835487765

Details

  • 797 of 883 (90.26%) changed or added relevant lines in 19 files are covered.
  • 8 unchanged lines in 3 files lost coverage.
  • Overall coverage decreased (-0.05%) to 93.214%

Changes Missing Coverage Covered Lines Changed/Added Lines %
config/metrics.go 0 1 0.0%
middleware/hmac_auth.go 12 14 85.71%
middleware/request_body_size.go 19 21 90.48%
metrics/handler.go 88 96 91.67%
metrics/middleware.go 169 181 93.37%
server.go 107 124 86.29%
metrics/metrics.go 285 329 86.63%
Files with Coverage Reduction New Missed Lines %
middleware/hmac_auth.go 1 87.22%
sse.go 2 92.42%
server.go 5 88.46%
Totals Coverage Status
Change from base Build 22814681014: -0.05%
Covered Lines: 7459
Relevant Lines: 8002

💛 - Coveralls

alexferl added 4 commits March 8, 2026 20:30
fix(metrics): record panics as 500 and expose registry to context

test: add panic metrics recording tests

feat(examples): add panic endpoint to metrics example

Signed-off-by: alexferl <me@alexferl.com>
…st_body_size

  - Compress: compress_requests_total counter with encoding label
  - CORS: cors_preflight_requests_total and cors_requests_total counters
  - ETag: etag_requests_total (hit/miss) and etag_generated_total counters
  - RequestBodySize: request_body_size_rejected_total counter

Includes tests and updated METRICS.md documentation.

Signed-off-by: alexferl <me@alexferl.com>
Signed-off-by: alexferl <me@alexferl.com>
Signed-off-by: alexferl <me@alexferl.com>
@alexferl alexferl merged commit c9e55a3 into master Mar 9, 2026
9 checks passed
@alexferl alexferl deleted the metrics branch March 9, 2026 02:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants