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

Change deprecated OTel jaeger exporter #1784

Closed
oguzhand95 opened this issue Sep 4, 2023 · 7 comments · Fixed by #1886
Closed

Change deprecated OTel jaeger exporter #1784

oguzhand95 opened this issue Sep 4, 2023 · 7 comments · Fixed by #1886

Comments

@oguzhand95
Copy link
Member

"go.opentelemetry.io/otel/exporters/jaeger" is deprecated: This module is no longer supported. OpenTelemetry dropped support for Jaeger exporter in July 2023. Jaeger officially accepts and recommends using OTLP. Use [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp] or [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc] instead
@muratmirgun
Copy link

Hey I can take this issue

@emreb
Copy link
Contributor

emreb commented Oct 25, 2023

Please do. Looking forward to receiving the PR.

@muratmirgun
Copy link

Guys, I found this in the releases

The go.opentelemetry.io/otel/exporters/jaeger package is deprecated.
OpenTelemetry dropped support for Jaeger exporter in July 2023.
Use go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
or go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc instead.

I will make implementation with "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp" that's okay with us?

@haines
Copy link
Member

haines commented Oct 26, 2023

We already support otlptracegrpc so I don't think there is anything to be done for this issue, other than we may wish to mark the jaeger exporter as deprecated in our tracing configuration so that we can remove it in a future release.

@muratmirgun
Copy link

muratmirgun commented Oct 26, 2023

Yes, that is correct. Now you can use it with the otlp client on the Jeager side. We can remove the Jeager option and write this information to Docs. I can open PR for the remove Jeager client side. Or we can additionally add HTTP as an option to grpc

@haines
Copy link
Member

haines commented Oct 26, 2023

I think we should start by documenting the Jaeger exporter as deprecated first, then remove it in a future release, so that anybody who is currently using it has some warning before it disappears.

Let's change the comment on the config section to be prefixed with [Deprecated] and include a note that the OTLP exporter should be used instead because Jaeger now supports OTLP.

// Jaeger configures the Jaeger exporter.

That'll show up in the full configuration docs at https://docs.cerbos.dev/cerbos/latest/configuration/#_full_configuration

Then, let's also update the docs with a similar note about using the OTLP exporter instead.

The system to export the trace data must be specified using the `exporter` setting. Currently link:https://www.jaegertracing.io[Jaeger] and link:https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/otlp.md[OTLP collectors] are supported. If using Jaeger, traces can be sent to either a Jaeger Agent (compact Thrift format) or a Jaeger Collector (Thrift format).

Let's also move the OTLP section above the Jaeger one so it has more prominence.

That'll show up at https://docs.cerbos.dev/cerbos/latest/configuration/tracing

I think it would be reasonable to support HTTP as well as gRPC. We could add a Protocol field to the config that would default to "grpc" but could also be set to "http/protobuf" (per the docs they also have an "http/json" protocol, but we won't support that because their Go SDK doesn't support that).

https://github.com/cerbos/cerbos/blob/main/internal/observability/tracing/conf.go#L50-L53

Hope that helps you get started @muratmirgun! Thanks for contributing 🙇

@muratmirgun
Copy link

Thanks for the info. I am working on it 🚀

charithe added a commit that referenced this issue Nov 22, 2023
Add ability to configure OTLP trace exporters with more options such as
the choice of protocols, sampler configuration, TLS settings etc.

As part of this change, the `tracing` configuration block in the Cerbos
configuration file has been completely deprecated with the aim of
removing it in the release after next. This is because of the following
reasons:
- Jaeger native protocol is no longer supported by the Otel SDK.
- The Otel specification defines standard environment variables that can
be used to configure OTLP exporters. Trying to replicate all possible
configuration options in our configuration would be brittle and just
complicate our code and documentation for not much benefit.

Fixes #1784 
Part of #341

---------

Signed-off-by: Charith Ellawala <charith@cerbos.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants