osprofiler
OpenStack Profiler Library
What it is and what it does
OSProfiler is a distributed tracing library built for OpenStack that captures request flows across multiple services and generates call trees for performance analysis. It instruments code to emit trace events that travel with requests through the system, allowing operators and developers to see where time is spent and identify bottlenecks that span service boundaries.
The library is designed as a lightweight instrumentation layer; you wrap code sections with trace contexts, and OSProfiler collects timing and metadata. The resulting traces can be extracted and visualized to understand request paths. It integrates with OpenStack's oslo libraries and is used across most OpenStack projects, making it the standard tool for cross-project performance debugging in that ecosystem.
Use it for:
- Isolate performance degradation in multi-service OpenStack deployments by tracing a single request end-to-end.
- Identify which service in a call chain is responsible for high latency in API responses.
- Build a visual call tree to understand request flow and service interactions during complex operations.
- Debug timeout or slow-response issues that span multiple OpenStack components.
- Profile production traffic to find unexpected bottlenecks in service-to-service communication.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
OSProfiler generates distributed request traces across OpenStack services to identify performance bottlenecks and cross-project latency issues.
Yes, if you operate or develop for OpenStack. OSProfiler is the standard distributed tracing tool for the ecosystem, actively maintained, permissively licensed, and has low install friction. No, if you are outside OpenStack—the library is tightly coupled to OpenStack's architecture and oslo libraries; other Python frameworks have more general-purpose tracing solutions.
Install
osprofiler on PyPI
pip
pip install osprofileruv
uv add osprofilerpoetry
poetry add osprofilerInstalling osprofiler
Before you install
Low install friction with a pure Python wheel. Active maintenance status and recent release (101 days old). Eight runtime dependencies are all established OpenStack libraries (oslo.* family, netaddr, requests, WebOb, PrettyTable).
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions—suitable for most deployment contexts.
Quickstart
pip install osprofiler
from osprofiler import profiler
profiler.init('service-name')
with profiler.Trace('operation-name'):
# code to profile
pass
Requires Python 3.10 or later. Designed for OpenStack environments; utility outside that ecosystem depends on compatible tracing backends.
Verify before relying
- Whether tracing backends (e.g., Elasticsearch, Jaeger) are bundled or require separate installation.
- Performance overhead of trace collection in production workloads.
- Compatibility with non-OpenStack Python services or frameworks.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 8 — netaddr, oslo.concurrency, oslo.config, oslo.serialization, oslo.utils, PrettyTable, requests, WebOb |
| Maintenance | actively maintained — 101 days since the last release |
| First released | |
| Downloads | 375,765/month — #7,133 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: osprofiler-4.4.0-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
os-client-configCollects and manages OpenStack cloud client…
permissive · top 15,000 on PyPI
os-service-typesProvides access to OpenStack service-type…
permissive · top 5,000 on PyPI
os-vifos-vif provides a library for managing the…
permissive · top 15,000 on PyPI
oslo.serviceoslo.service provides a framework for building…
permissive · top 15,000 on PyPI
perfettoPerfetto is a Python binding for Perfetto's…
permissive · top 5,000 on PyPI
oslo.reportsoslo.reports generates structured debug reports…
permissive · top 15,000 on PyPI
oslo.logoslo.log provides standardized logging…
permissive · top 5,000 on PyPI
os-kenos-ken is a component-based software defined…
permissive · top 15,000 on PyPI
os-testros-testr wraps the testr test runner to provide…
permissive · top 15,000 on PyPI
os-traitsos-traits provides a standardized catalog of…
permissive · top 15,000 on PyPI