• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

divviup / divviup-api / 26540494363
69%

Build:
DEFAULT BRANCH: main
Ran 27 May 2026 09:45PM UTC
Jobs 1
Files 115
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 May 2026 09:43PM UTC coverage: 69.209% (+0.4%) from 68.787%
26540494363

push

github

web-flow
Migrate from Trillium [part 10]: OTel 0.32 upgrade, OTLP metrics, HTTP metrics middleware (#2278)

Upgrade the OpenTelemetry ecosystem from 0.27 to 0.32 and switch from
Prometheus scrape-based metrics export to OTLP push. Prometheus 3.x in
prod supports native OTLP ingestion, so the prometheus and
opentelemetry-prometheus crates are removed entirely.

Changes:

- Upgrade opentelemetry, opentelemetry_sdk, and opentelemetry-otlp to
  0.32. Use the new Resource::builder() and SdkMeterProvider APIs.

- Replace the Prometheus exporter with an OTLP HTTP MetricExporter
  using periodic push (endpoint via OTEL_EXPORTER_OTLP_ENDPOINT).

- Remove the /metrics endpoint from the monitoring server; it now only
  serves /traceconfig.

- Add a custom HTTP metrics middleware (src/handler/http_metrics.rs)
  that records http.server.request.duration and
  http.server.active_requests following OTel HTTP semantic conventions,
  including url.scheme, http.request.method (normalized to known
  methods or _OTHER), http.route (omitted for unmatched paths), and
  http.response.status_code.

- Propagate client IP into trace spans by parsing the rightmost
  X-Forwarded-For value in a custom TraceLayer make_span_with.

- Return a TelemetryProviders struct from install_telemetry() so both
  the meter provider and the OTLP tracer provider (when otlp-trace is
  enabled) are shut down gracefully on exit.

- Remove stale RUSTSEC advisory ignores from deny.toml.

- Use tracing::field::Empty for client.address when XFF header absent
- Add OTel semconv advisory histogram buckets to request duration
- Comment on HttpMetrics::new() to prevent per-request re-registration

78 of 116 new or added lines in 4 files covered. (67.24%)

2 existing lines in 2 files now uncovered.

4500 of 6502 relevant lines covered (69.21%)

71.64 hits per line

Uncovered Changes

Lines Coverage ∆ File
28
0.0
0.0% src/telemetry.rs
4
90.41
-4.13% src/handler.rs
4
94.03
src/handler/http_metrics.rs
2
0.0
0.0% src/bin.rs

Coverage Regressions

Lines Coverage ∆ File
1
0.0
0.0% src/bin.rs
1
0.0
0.0% src/telemetry.rs
Jobs
ID Job ID Ran Files Coverage
1 26540494363.1 27 May 2026 09:45PM UTC 115
69.21
GitHub Action Run
Source Files on build 26540494363
  • Tree
  • List 115
  • Changed 6
  • Source Changed 6
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26540494363
  • 7c3e3243 on github
  • Prev Build on main (#26527228289)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc