opentelemetry-instrumentation-tornado
Tornado instrumentation for OpenTelemetry
What it is and what it does
This package integrates OpenTelemetry tracing into Tornado web applications by building on OpenTelemetry's WSGI instrumentation layer. It automatically captures HTTP request and response details—headers, status codes, paths, and timing—and exports them to OpenTelemetry backends for distributed tracing and observability. The package depends on opentelemetry-api, opentelemetry-instrumentation, opentelemetry-semantic-conventions, and opentelemetry-util-http to provide the core tracing infrastructure and standardized span attributes.
You install it alongside your Tornado application, and it hooks into the request lifecycle to emit trace spans without requiring code changes to your handlers. It's designed for developers building microservices or multi-service systems where you need end-to-end visibility into how requests flow through Tornado services and across service boundaries.
Use it for:
- Trace HTTP requests across a Tornado microservice to diagnose latency and failure patterns
- Export request spans to a backend like Jaeger or Zipkin for distributed tracing visualization
- Monitor Tornado application health by correlating traces with metrics and logs
- Debug request routing and middleware behavior in complex Tornado applications
- Collect standardized HTTP telemetry for compliance or performance auditing
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds OpenTelemetry tracing instrumentation to Tornado web applications, automatically capturing HTTP request and response metadata for observability.
Yes, if you are running Tornado in a microservice or multi-service environment where distributed tracing is valuable. The package is actively maintained, has no known vulnerabilities, and carries low install friction. The beta status and reliance on WSGI middleware (which may not fully align with Tornado's async model) warrant testing in your specific use case before production deployment.
Install
opentelemetry-instrumentation-tornado on PyPI
pip
pip install opentelemetry-instrumentation-tornadouv
uv add opentelemetry-instrumentation-tornadopoetry
poetry add opentelemetry-instrumentation-tornadoInstalling opentelemetry-instrumentation-tornado
Before you install
Low friction installation with a small, focused dependency tree. The package is actively maintained with a recent release and no known vulnerabilities, though it carries a beta status designation.
License in practice
Licensed under Apache-2.0 (permissive), allowing use in proprietary and open-source projects with minimal restrictions beyond attribution.
Quickstart
pip install opentelemetry-instrumentation-tornado
from opentelemetry.instrumentation.tornado import TornadoInstrumentor
TornadoInstrumentor().instrument()
Requires Python 3.10 or later; Tornado application must be initialized before instrumentation is applied.
Verify before relying
- Whether the WSGI middleware foundation fully covers Tornado's async request handling model
- Performance overhead when tracing high-volume request streams
- Compatibility with Tornado versions not explicitly listed in classifiers
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — opentelemetry-api, opentelemetry-instrumentation, opentelemetry-semantic-conventions, opentelemetry-util-http |
| Maintenance | actively maintained — 29 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,224,670/month — #2,359 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: opentelemetry_instrumentation_tornado-0.65b0-py3-none-any.whl
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
opentelemetry-instrumentation-flaskAdds distributed tracing to Flask web…
permissive · top 1,000 on PyPI
opentelemetry-instrumentation-pyramidAdds automatic tracing and metrics collection…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-falconAdds distributed tracing to Falcon web…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-wsgiProvides WSGI middleware for OpenTelemetry that…
permissive · top 1,000 on PyPI
opentelemetry-instrumentation-kafka-pythonAdds distributed tracing instrumentation to…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-jinja2Adds OpenTelemetry tracing instrumentation to…
permissive · top 5,000 on PyPI
opentelemetry-util-httpProvides ASGI and WSGI middleware and HTTP…
permissive · top 1,000 on PyPI
opentelemetry-instrumentation-aiokafkaAdds distributed tracing instrumentation to…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-aiohttp-serverAdds distributed tracing to aiohttp server…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-pymemcacheAdds OpenTelemetry tracing instrumentation to…
permissive · top 5,000 on PyPI