chore: remove deprecated Jaeger client, keep OTEL as sole tracing backend#50
chore: remove deprecated Jaeger client, keep OTEL as sole tracing backend#50
Conversation
…kend Remove the archived/EOL Jaeger client library (uber/jaeger-client-go, jaegertracing/jaeger-lib) and the setupJaeger() function. Tracing is now exclusively via OpenTelemetry OTLP, which supports all OTLP-compatible backends including Jaeger's OTLP receiver. Users relying on JAEGER_* env vars should migrate to OTLP_ENDPOINT etc. SetupOpenTelemetry() and SetupNROpenTelemetry() are unchanged.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThis PR removes deprecated Jaeger tracing support in favor of OpenTelemetry. The change eliminates the legacy Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Index.md: clarify OTEL as primary, Jaeger as OTLP backend - Packages.md: update tracing description - howto/Tracing.md: remove Jaeger as direct backend, clarify OTLP - integrations.md: rename Jaeger section to OTLP-compatible backends - config-reference.md: clarify Jaeger example uses OTLP Part of Jaeger client removal (go-coldbrew/core#50).
There was a problem hiding this comment.
Pull request overview
This PR removes the deprecated Jaeger client implementation and dependencies so tracing is exclusively handled via OpenTelemetry OTLP (with the existing OpenTracing bridge retained for legacy instrumentation).
Changes:
- Removed
setupJaeger()and Jaeger-related imports from initialization code. - Dropped Jaeger and related transitive dependencies from
go.mod/go.sum. - Updated README-generated links to reflect shifted line numbers after code removal.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
initializers.go |
Removes setupJaeger() and Jaeger imports; leaves OTLP/OTEL tracing setup as the supported path. |
core.go |
Stops invoking setupJaeger() during startup configuration. |
go.mod |
Removes Jaeger modules and now-unused indirect deps. |
go.sum |
Cleans checksums for removed Jaeger-related modules. |
README.md |
Updates anchors/line references affected by code removal. |
Comments suppressed due to low confidence (1)
initializers.go:112
- Removing
setupJaeger()also removes the explicit Zipkin B3 HTTP header propagation that Jaeger was configured with.SetupOpenTelemetrydoesn’t set an explicit propagator, so OpenTracing extraction/injection will follow OTEL defaults (typically W3C TraceContext), which can break trace parent/child linkage with services still emitting B3 headers. Consider explicitly configuring a composite propagator (e.g., accept both W3C + B3) or documenting this propagation change as part of the migration.
// OTLPConfig holds configuration for OpenTelemetry OTLP exporter
//
// This struct provides a flexible way to configure OpenTelemetry tracing
// with any OTLP-compatible backend (e.g., Jaeger, Honeycomb, New Relic, etc.)
type OTLPConfig struct {
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
* docs: update tracing docs for Jaeger client removal - Index.md: clarify OTEL as primary, Jaeger as OTLP backend - Packages.md: update tracing description - howto/Tracing.md: remove Jaeger as direct backend, clarify OTLP - integrations.md: rename Jaeger section to OTLP-compatible backends - config-reference.md: clarify Jaeger example uses OTLP Part of Jaeger client removal (go-coldbrew/core#50). * fix: consistent capitalization — "New Relic" and "OpenTelemetry"
Summary
uber/jaeger-client-go,jaegertracing/jaeger-lib) and thesetupJaeger()functionSetupOpenTelemetry()andSetupNROpenTelemetry()are unchangedMigration for users relying on
JAEGER_*env varsWhat stays
SetupOpenTelemetry()/SetupNROpenTelemetry()— untouchedgo-coldbrew/tracingpackageTest plan
go test -race ./...passesmake lint— 0 issues, 0 vulnerabilitiesSummary by CodeRabbit
Refactor
Chores
Documentation