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

Jaeger exporter support vs OTel specification #355

Closed
pellared opened this issue Feb 10, 2022 · 6 comments
Closed

Jaeger exporter support vs OTel specification #355

pellared opened this issue Feb 10, 2022 · 6 comments
Assignees
Milestone

Comments

@pellared
Copy link
Member

pellared commented Feb 10, 2022

For OTEL_TRACES_EXPORTER, jaeger is reserved for an Jaeger exporter using Protobuf via http/thirft or gRPC

References:

Possible actions

  1. rename to jaeger-dotnet (sic!) or something similar
  2. keep jaeger. just add some remark that the using jaeger does NOT default to gRPC but UdpCompactThrift protocol (also there is no support for gRPC at the moment)
  3. remove support for Jaeger expoter

Also USAGE.md is outdated and misses info about the OTEL_EXPORTER_JAEGER_ENDPOINT , OTEL_EXPORTER_JAEGER_PROTOCOL env vars.

Related issue: #255

Origin: https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/pull/353/files#r803609447

@pellared
Copy link
Member Author

We can also propose to add OTEL_EXPORTER_JAEGER_PROTOCOL to the specification with grpc as a default value. Especially since the .NET SDK already uses this env var. WDYT?

@pellared pellared changed the title Jaeger exporter support vs specification Jaeger exporter support vs OTel specification Feb 10, 2022
@pjanotti
Copy link
Contributor

We can also propose to add OTEL_EXPORTER_JAEGER_PROTOCOL to the specification with grpc as a default value. Especially since the .NET SDK already uses this env var. WDYT?

Sounds more in line with what is already done for OTLP.

@nrcventura
Copy link
Member

We can also propose to add OTEL_EXPORTER_JAEGER_PROTOCOL to the specification with grpc as a default value. Especially since the .NET SDK already uses this env var. WDYT?

Do we want to use one of our own OTEL_AUTO environment variables to handle this in the short term, while things are still being discussed in the spec? Or do we think it's ok to go with what we think the variable will be since we are still in a prerelease state?

@nrcventura
Copy link
Member

Two things of interest that may influence our decision.

  1. In Java specifying "jaeger" results in configuring the jaeger exporter to use grpc to export to jaeger.
  2. In JS specifying "jaeger" results in exporting using UDP Thrift.
  3. In Go there's only a jaeger thrift exporter.

I suspect that the protocol environment variable is not in the spec because most languages implemented just one protocol. As a result, I think that we only need to be consistent with the .NET SDK.

So maybe we should just rely on the protocol environment variable and say that you need to both set the exporter to jaeger and to set the protocol. And then document that if you don't set the protocol, that grpc will be used, and you will also need to ensure that your application is updated to include the necessary grpc dependencies.

@pellared
Copy link
Member Author

pellared commented Feb 10, 2022

Just a note that Jaeger exporter over gRPC is not implemented in .NET SDK. So it could e.g. throw an error until it is implemented 🤷 However I would expect to have http/thrift as the default protocol for similar reasons that http/protobuf is favored over grpc for OTLP exporter.

@pellared
Copy link
Member Author

SIG meeting notes

We will use jaeger as the exporter name and just use what the SDK provides.

Closing this issue as know it is on spec+.NET SDK side.

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

No branches or pull requests

3 participants