feat(tracing): replace Jaeger exporter with OTLP (fixes #1906)
feat(tracing): replace Jaeger exporter with OTLP (fixes #1906)
Why
go.opentelemetry.io/otel/exporters/jaegeris deprecated. Jaeger recommends using OTLP (gRPC/HTTP) via the Collector.
What
- Remove Jaeger exporter and related code paths.
- Add support for exporters:
otlp_grpc(viaotlptracegrpc)otlp_http(viaotlptracehttp)
- Keep alias:
type=otlp=>otlp_grpc(backward compatibility).
Defaults
When OC_TRACING_ENABLED=true and OC_TRACING_TYPE is empty:
- If
OC_TRACING_ENDPOINTis set ⇒otlp_grpc - Else if
OC_TRACING_COLLECTORis set ⇒otlp_http - Else ⇒ tracing disabled with a warning
Testing
- Local: full test suite passes.
- CI: Note the repository’s "label" workflow requires a
Type:*label. As external contributors we cannot add labels; kindly add one (e.g.,Type:MaintenanceorType:Breaking-Change) so the check can pass.
References
- Upstream issue: https://github.com/opencloud-eu/opencloud/issues/1906
- Fork implementation and discussion: https://github.com/agyn-sandbox/opencloud/pull/1
Migration notes
- Jaeger exporter support is removed. Configure OTLP:
OC_TRACING_TYPE=otlp_grpcand setOC_TRACING_ENDPOINT(e.g.,otel-collector:4317)- or
OC_TRACING_TYPE=otlp_httpand setOC_TRACING_COLLECTOR(e.g.,http://otel-collector:4318)
If you prefer stricter behavior (e.g., fail fast when type is empty) or different aliasing for otlp, let us know.
Hi maintainers, this PR addresses #1906 by replacing the deprecated Jaeger exporter with OTLP (gRPC/HTTP). Note: the repository's 'label' check requires a Type:* label. As external contributors we cannot add labels—could you please add an appropriate label (e.g., Type:Maintenance or Type:Breaking-Change) so the check can pass? Thanks!
Gentle reminder: could a maintainer please add a required Type:* label (e.g., Type:Maintenance or Type:Breaking-Change) so the label check can pass? We’ll continue monitoring CI. Thank you!
CC @butonic
No. You are missing the point. The whole Tracing config can be replaced with a single traces exporter config: none, console or otlp. Then all the rest can meanwhile be configured with OTLP_* env vars. But this breaking change also requires changing reva. I'll close this because I doubt an AI can tackle multi repo commits.