Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use the OpenTelemetry protocol in the proxy #10111

Open
0x91 opened this issue Jan 9, 2023 · 6 comments
Open

Use the OpenTelemetry protocol in the proxy #10111

0x91 opened this issue Jan 9, 2023 · 6 comments

Comments

@0x91
Copy link

0x91 commented Jan 9, 2023

    @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 #7672 (comment)

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.

@whiskeysierra
Copy link

We're using a different provider (Lightstep), but we also would like to not run the OpenCensus collector as an intermediate.

@stale
Copy link

stale bot commented Apr 20, 2023

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.

@stale stale bot added the wontfix label Apr 20, 2023
@steve-gray
Copy link
Contributor

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.

@stale stale bot removed the wontfix label May 3, 2023
@stale
Copy link

stale bot commented Aug 1, 2023

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.

@stale stale bot added the wontfix label Aug 1, 2023
@wmorgan wmorgan added the pinned label Aug 1, 2023
@stale stale bot removed the wontfix label Aug 1, 2023
@whiskeysierra
Copy link

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:

Without native OTLP support in linkerd-proxy, one is forced to use an outdated/aging version of the opentelemetry-collector going forward.

sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This mirrors and duplicates most of the logic from the existing OpenCensus exporter to keep the functionality as similar as possible. Setting up the proxy to use this exporter will come in a follow-up.

(#10111)[linkerd/linkerd2#10111]

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter. Changing the default and eventually removing the OpenCensus exporter will come later.

(#10111)[linkerd/linkerd2#10111]

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This mirrors and duplicates most of the logic from the existing OpenCensus exporter to keep the functionality as similar as possible. Setting up the proxy to use this exporter will come in a follow-up.

(#10111)[linkerd/linkerd2#10111]

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter. Changing the default and eventually removing the OpenCensus exporter will come later.

(#10111)[linkerd/linkerd2#10111]

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
In preparation for supporting the OpenTelemetry protocol for the proxy's traces, this vendors the relevant protobufs as well as some convenience helpers here.

This works around the fact that the existing `opentelemetry` crates do not support the version of tonic that we currently use (0.10), and this vendoring can be removed once we update.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This mirrors and duplicates most of the logic from the existing OpenCensus exporter to keep the functionality as similar as possible. Setting up the proxy to use this exporter will come in a follow-up.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This mirrors and duplicates most of the logic from the existing OpenCensus exporter to keep the functionality as similar as possible. Setting up the proxy to use this exporter will come in a follow-up.

(#10111)[linkerd/linkerd2#10111]

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter. Changing the default and eventually removing the OpenCensus exporter will come later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter. Changing the default and eventually removing the OpenCensus exporter will come later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter. Changing the default and eventually removing the OpenCensus exporter will come later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter. Changing the default and eventually removing the OpenCensus exporter will come later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This mirrors and duplicates most of the logic from the existing OpenCensus exporter to keep the functionality as similar as possible. Setting up the proxy to use this exporter will come in a follow-up.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 19, 2024
This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter. Changing the default and eventually removing the OpenCensus exporter will come later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 23, 2024
In preparation for supporting the OpenTelemetry protocol for the proxy's traces, this vendors the relevant protobufs as well as some convenience helpers here.

This works around the fact that the existing `opentelemetry` crates do not support the version of tonic that we currently use (0.10), and this vendoring can be removed once we update.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 23, 2024
This mirrors and duplicates most of the logic from the existing OpenCensus exporter to keep the functionality as similar as possible. Setting up the proxy to use this exporter will come in a follow-up.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 23, 2024
This duplicates most of the logic from the existing OpenCensus exporter to keep the functionality as similar as possible.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 23, 2024
This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter. Changing the default and eventually removing the OpenCensus exporter will come later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2 that referenced this issue Sep 23, 2024
Allows setting the trace export protocol env var (`LINKERD2_PROXY_TRACE_PROTOCOL`) on instances of the proxy using the existing mechanisms we have today for setting the trace collector endpoint (helm values, annotations, etc.).

Currently defaults the protocol to `opencensus` to match the behavior we have today.

\linkerd#10111

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to linkerd/linkerd2-proxy that referenced this issue Sep 23, 2024
In preparation for supporting the OpenTelemetry protocol for the proxy's traces, this vendors the relevant protobufs as well as some convenience helpers here.

This works around the fact that the existing `opentelemetry` crates do not support the version of tonic that we currently use (0.10), and this vendoring can be removed once we update.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 23, 2024
This duplicates most of the logic from the existing OpenCensus exporter to keep the functionality as similar as possible.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 23, 2024
This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter. Changing the default and eventually removing the OpenCensus exporter will come later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to linkerd/linkerd2-proxy that referenced this issue Sep 23, 2024
This duplicates most of the logic from the existing OpenCensus exporter to keep the functionality as similar as possible.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 23, 2024
This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter. Changing the default and eventually removing the OpenCensus exporter will come later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 23, 2024
OpenCensus is a deprecated protocol and is slated to be removed from upstream collectors soon.

This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter, and we can switch the default later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 23, 2024
OpenCensus is a deprecated protocol and is slated to be removed from upstream collectors soon.

This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter, and we can switch the default later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 24, 2024
OpenCensus is a deprecated protocol and is slated to be removed from upstream collectors soon.

This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter, and we can switch the default later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2 that referenced this issue Sep 24, 2024
Allows setting the trace export protocol env var (`LINKERD2_PROXY_TRACE_PROTOCOL`) on instances of the proxy using the existing mechanisms we have today for setting the trace collector endpoint (helm values, annotations, etc.).

Currently defaults the protocol to `opencensus` to match the behavior we have today.

\linkerd#10111

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2 that referenced this issue Sep 24, 2024
Allows setting the trace export protocol env var (`LINKERD2_PROXY_TRACE_PROTOCOL`) on instances of the proxy using the existing mechanisms we have today for setting the trace collector endpoint (helm values, annotations, etc.).

Currently defaults the protocol to `opencensus` to match the behavior we have today.

\linkerd#10111

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 25, 2024
OpenCensus is a deprecated protocol and is slated to be removed from upstream collectors soon.

This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter, and we can switch the default later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 25, 2024
OpenCensus is a deprecated protocol and is slated to be removed from upstream collectors soon.

This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter, and we can switch the default later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 26, 2024
OpenCensus is a deprecated protocol and is slated to be removed from upstream collectors soon.

This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter, and we can switch the default later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 27, 2024
OpenCensus is a deprecated protocol and is slated to be removed from upstream collectors soon.

This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter, and we can switch the default later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 27, 2024
OpenCensus is a deprecated protocol and is slated to be removed from upstream collectors soon.

This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter, and we can switch the default later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 27, 2024
OpenCensus is a deprecated protocol and is slated to be removed from upstream collectors soon.

This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter, and we can switch the default later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2-proxy that referenced this issue Sep 30, 2024
OpenCensus is a deprecated protocol and is slated to be removed from upstream collectors soon.

This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter, and we can switch the default later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to linkerd/linkerd2-proxy that referenced this issue Oct 1, 2024
OpenCensus is a deprecated protocol and is slated to be removed from upstream collectors soon.

This wires up the proxy to optionally use OpenTelmetry as the format for exported traces. Currently, this defaults to the existing OpenCensus exporter, and we can switch the default later.

[#10111](linkerd/linkerd2#10111)

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2 that referenced this issue Oct 1, 2024
Allows setting the trace export protocol env var (`LINKERD2_PROXY_TRACE_PROTOCOL`) on instances of the proxy using the existing mechanisms we have today for setting the trace collector endpoint (helm values, annotations, etc.).

Currently defaults the protocol to `opencensus` to match the behavior we have today.

\linkerd#10111

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2 that referenced this issue Oct 1, 2024
Allows setting the trace export protocol env var (`LINKERD2_PROXY_TRACE_PROTOCOL`) on instances of the proxy using the existing mechanisms we have today for setting the trace collector endpoint (helm values, annotations, etc.).

Currently defaults the protocol to `opencensus` to match the behavior we have today.

\linkerd#10111

Signed-off-by: Scott Fleener <[email protected]>
sfleen added a commit to sfleen/linkerd2 that referenced this issue Oct 1, 2024
Allows setting the trace export protocol env var (`LINKERD2_PROXY_TRACE_PROTOCOL`) on instances of the proxy using the existing mechanisms we have today for setting the trace collector endpoint (helm values, annotations, etc.).

Currently defaults the protocol to `opencensus` to match the behavior we have today.

\linkerd#10111

Signed-off-by: Scott Fleener <[email protected]>
alpeb pushed a commit that referenced this issue Oct 2, 2024
Allows setting the trace export protocol env var (`LINKERD2_PROXY_TRACE_PROTOCOL`) on instances of the proxy using the existing mechanisms we have today for setting the trace collector endpoint (helm values, annotations, etc.).

Currently defaults the protocol to `opencensus` to match the behavior we have today.

\#10111

Signed-off-by: Scott Fleener <[email protected]>
@wmorgan
Copy link
Member

wmorgan commented Oct 2, 2024

As you can probably tell, we're actively working on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants