Use the OpenTelemetry protocol in the proxy
@seblaz We're not opposed to this in general. But it's probably not a high priority issue for us unless there's a functional difference or problem this solves.
Originally posted by @olix0r in https://github.com/linkerd/linkerd2/issues/7672#issuecomment-1020368353
Observability tools and vendors are now starting to support the OTLP protocol directly (See: https://opentelemetry.io/vendors/) so I think this should remain open as it would be ideal not to have to run an intermediary collector that speaks the OpenCensus protocol.
For example we run Datadog in our environment and have configured our applications to send B3 traces there directly. We are propagating the B3 headers through our service mesh but introducing another component to manage is not desirable.
We're using a different provider (Lightstep), but we also would like to not run the OpenCensus collector as an intermediate.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.
It'd be good if it's possible to get this back on the table:
- Its generally pretty straightforward to support OpenTelemetry now
- Removes complexity from environments.
What I'd also suggest is more flexibility on the span propagation as all OTEL implementations must support W3C TraceContext, Baggage and Jaeger in addition to the older B3 format.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.
This is becoming more pressing now, due to some changes in the opentelemetry-collector which started to disable and drop support for the opencensus bridge in current/upcoming versions, see:
- https://github.com/open-telemetry/opentelemetry-collector/blob/b4fab2bef9c7102ce354f9b830920304dd53aabb/CHANGELOG.md?plain=1#L142C27-L142C50
- https://github.com/open-telemetry/opentelemetry-collector/blob/b4fab2bef9c7102ce354f9b830920304dd53aabb/CHANGELOG.md?plain=1#L52
- Issue: https://github.com/open-telemetry/opentelemetry-collector/issues/10414
Without native OTLP support in linkerd-proxy, one is forced to use an outdated/aging version of the opentelemetry-collector going forward.
As you can probably tell, we're actively working on this.