Skip to content

feat!: migrate metrics/tracing pipeline to OpenTelemetry SDK#679

Closed
icco wants to merge 4 commits into
launchdarkly:v8from
icco:feat/opentelemetry-support
Closed

feat!: migrate metrics/tracing pipeline to OpenTelemetry SDK#679
icco wants to merge 4 commits into
launchdarkly:v8from
icco:feat/opentelemetry-support

Conversation

@icco
Copy link
Copy Markdown
Contributor

@icco icco commented May 29, 2026

Requirements

  • I have added test coverage for new or changed functionality
  • I have followed the repository's pull request submission guidelines
  • I have validated my changes against all supported platform versions

Related issues

Provide links to any issues in this repository or elsewhere relating to this pull request.

Describe the solution you've provided

Provide a clear and concise description of what you expect to happen.

Describe alternatives you've considered

Provide a clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context about the pull request here.

icco and others added 4 commits May 28, 2026 21:22
Adds a new optional metrics integration that exports the Relay Proxy's
existing OpenCensus stats views and trace spans via OTLP, using the
official go.opentelemetry.io/otel/bridge/opencensus bridge.

The exporter sits alongside the existing Datadog, Stackdriver, and
Prometheus exporters and can be enabled with USE_OPENTELEMETRY=true.
gRPC (default) and HTTP/protobuf transports are both supported, and
the standard OTEL_EXPORTER_OTLP_* environment variables are honored.

Closes launchdarkly#582.
Replaces the three OpenCensus exporter modules with native OpenTelemetry
SDK exporters and unifies them under a single MeterProvider and
TracerProvider. The deprecated dependencies
DataDog/opencensus-go-exporter-datadog,
launchdarkly/opencensus-go-exporter-stackdriver, and
contrib.go.opencensus.io/exporter/prometheus have all been removed.

- Datadog: ships metrics and traces via OTLP gRPC into the local
  Datadog Agent's OTLP receiver (requires Agent v7.43+ with otlp_config
  enabled). DATADOG_TRACE_ADDR is now the OTLP endpoint;
  DATADOG_STATS_ADDR is logged as deprecated and ignored. Tags become
  OpenTelemetry resource attributes.
- Stackdriver: uses the official Google Cloud OpenTelemetry exporters
  for metrics and traces.
- Prometheus: backed by go.opentelemetry.io/otel/exporters/prometheus
  on the same /metrics endpoint and port.

The OpenCensus-to-OpenTelemetry bridge is installed once at startup so
that Relay's existing OpenCensus-based instrumentation continues to feed
every configured backend with no behavioral change.

Adds otelmux middleware on the gorilla/mux router so every inbound
request produces an OpenTelemetry span named after the matched route
template.

BREAKING CHANGE: Datadog deployments must now run a local Datadog Agent
v7.43+ with the OTLP receiver enabled. See docs/metrics.md for migration
notes for each backend.
Updated breaking change notes for Relay Proxy version 9 regarding the OpenTelemetry SDK and removal of OpenCensus exporters.
@icco icco closed this May 29, 2026
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.

1 participant