feat: F09 Request Metrics — complete deferred items#108
Merged
leocamello merged 1 commit intomainfrom Feb 13, 2026
Merged
Conversation
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #108 +/- ##
==========================================
+ Coverage 78.45% 82.38% +3.92%
==========================================
Files 34 34
Lines 1453 1453
==========================================
+ Hits 1140 1197 +57
+ Misses 313 256 -57 ☔ View full report in Codecov by Sentry. |
…operty tests - Add 22 integration tests in tests/metrics_integration.rs covering T016-T054, T068, T074, T075 (endpoint contracts, counters, histograms, gauges, per-backend stats, content-type, comprehensive e2e, FR-020) - Add 4 Criterion benchmarks in benches/metrics.rs (recording overhead ~188ns, /metrics render ~3.8µs, /v1/stats compute ~5.9µs, label sanitization ~50ns cached / ~359ns uncached) - Add 2 property tests for label sanitization in src/metrics/mod.rs (Prometheus regex compliance, idempotency) - Fix Cargo.toml: add [[bench]] entries with harness=false for all benchmark files (cli_startup, config_parsing, metrics) - Add Prometheus content-type header to /metrics endpoint (T068) - Fix quickstart.md: correct versions, module structure, code examples to match actual implementation (T073) - Add comprehensive end-to-end integration test covering all 4 user stories (T074) - Create requirements-validation.md (spec quality gate) - Update README.md with Observability section (/metrics and /v1/stats) - Update tasks.md: all 78/78 items complete - Update verification.md: VER-003 reflects completed deferred work
63ec48c to
41c0bd0
Compare
leocamello
added a commit
that referenced
this pull request
Feb 17, 2026
…operty tests (#108) - Add 22 integration tests in tests/metrics_integration.rs covering T016-T054, T068, T074, T075 (endpoint contracts, counters, histograms, gauges, per-backend stats, content-type, comprehensive e2e, FR-020) - Add 4 Criterion benchmarks in benches/metrics.rs (recording overhead ~188ns, /metrics render ~3.8µs, /v1/stats compute ~5.9µs, label sanitization ~50ns cached / ~359ns uncached) - Add 2 property tests for label sanitization in src/metrics/mod.rs (Prometheus regex compliance, idempotency) - Fix Cargo.toml: add [[bench]] entries with harness=false for all benchmark files (cli_startup, config_parsing, metrics) - Add Prometheus content-type header to /metrics endpoint (T068) - Fix quickstart.md: correct versions, module structure, code examples to match actual implementation (T073) - Add comprehensive end-to-end integration test covering all 4 user stories (T074) - Create requirements-validation.md (spec quality gate) - Update README.md with Observability section (/metrics and /v1/stats) - Update tasks.md: all 78/78 items complete - Update verification.md: VER-003 reflects completed deferred work
leocamello
added a commit
that referenced
this pull request
Feb 17, 2026
…operty tests (#108) - Add 22 integration tests in tests/metrics_integration.rs covering T016-T054, T068, T074, T075 (endpoint contracts, counters, histograms, gauges, per-backend stats, content-type, comprehensive e2e, FR-020) - Add 4 Criterion benchmarks in benches/metrics.rs (recording overhead ~188ns, /metrics render ~3.8µs, /v1/stats compute ~5.9µs, label sanitization ~50ns cached / ~359ns uncached) - Add 2 property tests for label sanitization in src/metrics/mod.rs (Prometheus regex compliance, idempotency) - Fix Cargo.toml: add [[bench]] entries with harness=false for all benchmark files (cli_startup, config_parsing, metrics) - Add Prometheus content-type header to /metrics endpoint (T068) - Fix quickstart.md: correct versions, module structure, code examples to match actual implementation (T073) - Add comprehensive end-to-end integration test covering all 4 user stories (T074) - Create requirements-validation.md (spec quality gate) - Update README.md with Observability section (/metrics and /v1/stats) - Update tasks.md: all 78/78 items complete - Update verification.md: VER-003 reflects completed deferred work
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Complete all 23 deferred Phase 7 items for F09 Request Metrics. Every task is now checked
[x](78/78).Added
tests/metrics_integration.rs): Contract tests for/metricsand/v1/stats, counter/histogram/gauge tracking, per-backend stats breakdown, content-type validation, comprehensive end-to-end test, FR-020 compatibilitybenches/metrics.rs): metric recording overhead (~188ns), /metrics render (~3.8µs), /v1/stats compute (~5.9µs), label sanitization (~50ns cached / ~359ns uncached)src/metrics/mod.rs): Prometheus label regex compliance, sanitization idempotency/metricsand/v1/statsendpointsChanged
/metricsendpoint now returns proper Prometheuscontent-type: text/plain; version=0.0.4header (T068)quickstart.md: Fixed dependency versions (0.24/0.16), module structure (no collector.rs), handler code, startup initialization, and test examples to match actual implementation (T073)Cargo.toml: Added[[bench]]entries withharness = falsefor all Criterion benchmark files (cli_startup, config_parsing, metrics) — benchmarks were previously compiling but not executingUpdated
tasks.md: 78/78 items complete (0 deferred, 0 unchecked)verification.md: VER-003 updated to reflect fully completed deferred workTest Results
-D warnings)