Automatic instrumentation with Python uses a Python agent that can be attached to any Python application. This agent primarily uses monkey patching to modify library functions at runtime, allowing for the capture of telemetry data from many popular libraries and frameworks.
SetupRun the following commands to install the appropriate packages.
pip install opentelemetry-distro opentelemetry-exporter-otlp
opentelemetry-bootstrap -a install
The opentelemetry-distro
package installs the API, SDK, and the opentelemetry-bootstrap
and opentelemetry-instrument
tools.
Note
You must install a distro package to get auto instrumentation working. The opentelemetry-distro
package contains the default distro to automatically configure some of the common options for users. For more information, see OpenTelemetry distro.
The opentelemetry-bootstrap -a install
command reads through the list of packages installed in your active site-packages
folder, and installs the corresponding instrumentation libraries for these packages, if applicable. For example, if you already installed the flask
package, running opentelemetry-bootstrap -a install
will install opentelemetry-instrumentation-flask
for you. The OpenTelemetry Python agent will use monkey patching to modify functions in these libraries at runtime.
Running opentelemetry-bootstrap
without arguments lists the recommended instrumentation libraries to be installed. For more information, see opentelemetry-bootstrap
.
Using uv
?
If you are using the uv package manager, you might face some difficulty when running opentelemetry-bootstrap -a install
. For details, see Bootstrap using uv.
The agent is highly configurable.
One option is to configure the agent by way of configuration properties from the CLI:
opentelemetry-instrument \
--traces_exporter console,otlp \
--metrics_exporter console \
--service_name your-service-name \
--exporter_otlp_endpoint 0.0.0.0:4317 \
python myapp.py
Alternatively, you can use environment variables to configure the agent:
OTEL_SERVICE_NAME=your-service-name \
OTEL_TRACES_EXPORTER=console,otlp \
OTEL_METRICS_EXPORTER=console \
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=0.0.0.0:4317
opentelemetry-instrument \
python myapp.py
To see the full range of configuration options, see Agent Configuration.
Supported libraries and frameworksA number of popular Python libraries are auto-instrumented, including Flask and Django. For the full list, see the Registry.
TroubleshootingFor general troubleshooting steps and solutions to specific issues, see Troubleshooting.
FeedbackWas this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4