Skip to content

Migrate metrics to opentelemetry - #14699

Draft
Turbo87 wants to merge 3 commits into
rust-lang:mainfrom
Turbo87:otel-metrics
Draft

Turbo87 wants to merge 3 commits into
rust-lang:mainfrom
Turbo87:otel-metrics

Conversation

@Turbo87

@Turbo87 Turbo87 commented Sep 16, 2026

Copy link
Copy Markdown
Member

This draft PR migrates our metrics collection from prometheus and a custom Datadog client to opentelemetry.

It includes two phases:

  • the first phase adds opentelemetry support to the application
  • the second phase removes the prometheus and custom Datadog metrics code

This draft is not intended to merge as one change. I will extract the expansion commits into a dedicated PR that keeps the legacy paths running in parallel. The removal commits will follow after the OpenTelemetry metrics have been validated in staging and production.

@Turbo87
Turbo87 marked this pull request as draft September 16, 2026 21:24
@Turbo87 Turbo87 added the C-internal 🔧 Category: Nonessential work that would make the codebase more consistent or clear label Sep 16, 2026
@Turbo87 Turbo87 moved this to For next meeting in crates.io team meetings Sep 17, 2026
@rustbot

This comment has been minimized.

@Turbo87
Turbo87 force-pushed the otel-metrics branch 2 times, most recently from dc1246a to 9af0650 Compare September 18, 2026 07:14
@rustbot

This comment has been minimized.

@rustbot

This comment has been minimized.

Service and database dump metrics now flow exclusively through OpenTelemetry. The background worker no longer configures a Datadog client, while the retained client and configuration continue to support monitor service checks.
OpenTelemetry now provides instance-level metrics, so the server no longer starts a Prometheus-to-stdout forwarding thread. The private Prometheus endpoint and its metric collection remain unchanged for the final removal step.
OpenTelemetry now covers the server and worker metrics previously exposed through Prometheus. Remove the private endpoint, legacy instruments and request updates, endpoint configuration, and the unused Prometheus dependency while retaining the database snapshot used by the OpenTelemetry collector.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-backend ⚙️ C-internal 🔧 Category: Nonessential work that would make the codebase more consistent or clear

Projects

Status: For next meeting

Development

Successfully merging this pull request may close these issues.

2 participants