-
Notifications
You must be signed in to change notification settings - Fork 502
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
Move athens to opentelemetry #1771
Comments
As described in the linked issue, OpenCensus is to be replaced with OpenTelemetry. This can be tricky to do in a non-breaking way, and so the easiest thing to do for now is to use the OpenCensus bridge. https://opentelemetry.io/blog/2023/sunsetting-opencensus/ https://github.com/open-telemetry/opentelemetry-go/tree/ac5639159f9c8ec161a93b1990e878c74022d49b/bridge/opencensus Fixes: gomods#1771
Looking at this issue, it seems that a switch to OpenTelemetry could be made in a manner that was non-breaking, but with the possibility of changing the way traces are emitted. How much change is acceptable? Given that the OpenCensus libraries are not maintained (the Go library is archived), making a complete switch rather than using a bridge might be the way to go. See also: |
@jamestelfer OpenCensus has been dead for 9 months now. I feel okay about breaking Athens' compatibility with it. I'm willing to hear arguments against it but I think it's a move in the right direction to issue a new minor version with OpenTelemetry when that code is available. |
I had a look around at this issue to see what might be necessary, and have recently implemented OTEL in a different service to gain some familiarity. The following are my thoughts on the implementation (though note that I am not a repository maintainer, just a random person on the Internet). The current code surface for writing to spans is quite small: the Lines 91 to 93 in bde4952
If this method returned an interface supporting the methods used on the span instead of a direct pointer, an Open Telemetry exporter can be set up as a different option to Those using Open Telemetry can direct their output directly to their provider (in the case of say, Honeycomb or Jaeger), or introduce the Open Telemetry collector agent and configure it appropriately for their service. This may be a sidecar image, or another process on the host. Other providers like Datadog support OLTP on their own agents. Either way, instead of directly supporting different vendors in this project, they would effectively be deprecated in favour of OLTP support. After a period of months, the old implementations can be removed. This gives users of this server an opportunity to make the switch prior to the removal. Happy for any thoughts or refinements from maintainers! @ctgardner FYI |
Describe the bug
Athens already supports tracing via opencensus; but that is no longer supported and deprecated
Expected behavior
Move to opentelemtry in a non-breaking way.
Environment (please complete the following information):
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: