Install the OpenTelemetry distro, bootstrap the instrumentations for the libraries you already use, and run your app under opentelemetry-instrument. Flask, FastAPI, Django, SQLAlchemy, requests and dozens of other libraries are traced without code changes.
pip install opentelemetry-distro opentelemetry-exporter-otlp
# Installs an instrumentation package for every supported library in your environment
opentelemetry-bootstrap -a install export OTEL_SERVICE_NAME="my-python-app"
export OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"
export OTEL_EXPORTER_OTLP_ENDPOINT="https://ingest.maple.dev"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer your-api-key"
export OTEL_RESOURCE_ATTRIBUTES="deployment.environment.name=production"
opentelemetry-instrument python app.py Automatic spans for every HTTP request with route, method, and status code attributes.
Database query spans with statement text, connection details, and execution duration.
Outgoing requests via urllib3 and the requests library traced with context propagation.
Redis command spans with operation type, key patterns, and response time.
Distributed task spans that link producers and consumers across worker processes.
Client and server gRPC spans with service, method, and status code attributes.
Add the SDK, point your OTLP exporter at Maple, and traces arrive.
maple.dev: observability on OpenTelemetry