Describe your environment
OS: Debian bookworm (Python 3.13-slim-bookworm docker container)
Python version: Python 3.13.13
SDK version: 1.37.0
API version: 1.37.0
I'm not exactly clear how I came by the above version numbers; at some point I ran opentelemetry-bootstrap (within the last few days) and this is what it gave me.
What happened?
The problem is that what it gave me didn't include opentelemetry-distro. I have listed below what actually went into my requirements.txt. In this state, opentelemetry-instrument fails in very difficult-to-debug ways. It basically does nothing at all. No command-line arguments are respected (eg --log_level=debug does not produce any more output). No traces are ever exported.
AFAICT, the problem is that without the distro package there is no metadata to tell the instrumenter what providers to use. At its base, this boils down to this:
$ python3 -c "from importlib.metadata import entry_points; print([ep.name for ep in entry_points(group='opentelemetry_configurator')])"
[]
instead of this after the distro package is installed:
$ python3 -c "from importlib.metadata import entry_points; print([ep.name for ep in entry_points(group='opentelemetry_configurator')])"
['configurator']
An error message explaining what went wrong in this case would have saved me about two and a half days of mucking around trying to figure it out and I'm sure would save other people considerable time in the future, too.
Steps to Reproduce
Install this set of packages:
opentelemetry-api==1.37.0
opentelemetry-exporter-otlp==1.37.0
opentelemetry-exporter-otlp-proto-common==1.37.0
opentelemetry-exporter-otlp-proto-grpc==1.37.0
opentelemetry-exporter-otlp-proto-http==1.37.0
opentelemetry-instrumentation==0.58b0
opentelemetry-instrumentation-asgi==0.58b0
opentelemetry-instrumentation-asyncio==0.58b0
opentelemetry-instrumentation-click==0.58b0
opentelemetry-instrumentation-dbapi==0.58b0
opentelemetry-instrumentation-fastapi==0.58b0
opentelemetry-instrumentation-flask==0.58b0
opentelemetry-instrumentation-grpc==0.58b0
opentelemetry-instrumentation-httpx==0.58b0
opentelemetry-instrumentation-jinja2==0.58b0
opentelemetry-instrumentation-logging==0.58b0
opentelemetry-instrumentation-pymysql==0.58b0
opentelemetry-instrumentation-redis==0.58b0
opentelemetry-instrumentation-requests==0.58b0
opentelemetry-instrumentation-sqlalchemy==0.58b0
opentelemetry-instrumentation-sqlite3==0.58b0
opentelemetry-instrumentation-starlette==0.58b0
opentelemetry-instrumentation-threading==0.58b0
opentelemetry-instrumentation-tortoiseorm==0.58b0
opentelemetry-instrumentation-urllib==0.58b0
opentelemetry-instrumentation-urllib3==0.58b0
opentelemetry-instrumentation-wsgi==0.58b0
opentelemetry-proto==1.37.0
opentelemetry-sdk==1.37.0
opentelemetry-semantic-conventions==0.58b0
opentelemetry-util-http==0.58b0
and try to use opentelemetry-instrument.
Expected Result
Some warning should be generated to point out that opentelemetry-instrument is missing vital parts.
Actual Result
Silent failure.
Additional context
No response
Would you like to implement a fix?
No
Tip
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.
Describe your environment
OS: Debian bookworm (Python 3.13-slim-bookworm docker container)
Python version: Python 3.13.13
SDK version: 1.37.0
API version: 1.37.0
I'm not exactly clear how I came by the above version numbers; at some point I ran
opentelemetry-bootstrap(within the last few days) and this is what it gave me.What happened?
The problem is that what it gave me didn't include
opentelemetry-distro. I have listed below what actually went into my requirements.txt. In this state,opentelemetry-instrumentfails in very difficult-to-debug ways. It basically does nothing at all. No command-line arguments are respected (eg--log_level=debugdoes not produce any more output). No traces are ever exported.AFAICT, the problem is that without the distro package there is no metadata to tell the instrumenter what providers to use. At its base, this boils down to this:
instead of this after the distro package is installed:
An error message explaining what went wrong in this case would have saved me about two and a half days of mucking around trying to figure it out and I'm sure would save other people considerable time in the future, too.
Steps to Reproduce
Install this set of packages:
and try to use
opentelemetry-instrument.Expected Result
Some warning should be generated to point out that opentelemetry-instrument is missing vital parts.
Actual Result
Silent failure.
Additional context
No response
Would you like to implement a fix?
No
Tip
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding
+1orme too, to help us triage it. Learn more here.