-
Notifications
You must be signed in to change notification settings - Fork 657
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
Setting any value to OTEL_EXPORTER_OTLP_PROTOCOL has no effect. #2586
Setting any value to OTEL_EXPORTER_OTLP_PROTOCOL has no effect. #2586
Comments
Hey, I would like to take this PR. Some follow-up questions:
Thanks! |
The env would have more sense when we had one package. We decided to split the single package to multiple packages based on protocol + encoding so we have separate packages for gRPC, HTTP. I do not think this can easily be addressed without any breaking change. |
The SDK already supports initializing the configured exporter from the relevant package (in this module). But I do think that the breaking change required here is to remove the support for |
After some discussions, adding an overview of my proposed changes (all are related to traces, metrics & logs):
Future breaking changes I propose is to remove the options Note - it does not require changing package entry points (such that), to avoid this unnecessary breaking change. |
Sounds good to me. It looks like the env are already defined here https://github.com/open-telemetry/opentelemetry-python/blob/edb1391a3d29d844141b15e486cd1107e163ee0b/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py. If this requires only changes in contrib repo, I will transfer this issue there. |
It requires changes in both repos, so I think it can remain here. |
Ah correct, the configuration part was also originally part of |
Describe your environment
Steps to reproduce
I am using
opentelemetry-instrument
to wire up the components.What is the expected behavior?
According to the documentation, one may choose the transport protocol for the OTLP exporter through
OTEL_EXPORTER_OTLP_PROTOCOL
, but it doesn't seem to apply to OTel Python, as the variable is referenced from nowhere.What is the actual behavior?
Instead I had to set
OTEL_*_EXPORTER
to eitherotlp_proto_grpc
orotlp_proto_http
to change the protocol.Additional context
The current SDK's architecture for the implementation lookup is not great IMO. This needs to be addressed.
The text was updated successfully, but these errors were encountered: