opentelemetry-python
opentelemetry-python copied to clipboard
Setting any value to OTEL_EXPORTER_OTLP_PROTOCOL has no effect.
trafficstars
Describe your environment
$ uname -srvmpio
Linux 4.19.128-microsoft-standard #1 SMP Tue Jun 23 12:58:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
$ python -VV
Python 3.9.9 (main, Dec 19 2021, 23:35:26)
[GCC 9.3.0]
$ grep ^opentelemetry pyproject.toml
opentelemetry-sdk = "^1.10.0"
opentelemetry-exporter-otlp-proto-http = "^1.10.0"
opentelemetry-exporter-otlp-proto-grpc = "^1.10.0"
opentelemetry-sdk-extension-aws = "^2.0.1"
opentelemetry-distro = "^0.29b0"
opentelemetry-instrumentation-django = "^0.29b0"
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 either otlp_proto_grpc or otlp_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.