osprofiler
OpenStack Profiler Library
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Designed for OpenStack environments; utility outside that ecosystem depends on compatible tracing backends.
- Low install friction with a pure Python wheel.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions—suitable for most deployment contexts.
last release 2026-05-05 (101 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 375,765 downloads/mo, #7,133 on PyPI
Alternatives
Verify before relying
pip install osprofiler
from osprofiler import profiler
profiler.init('service-name')
with profiler.Trace('operation-name'):
# code to profile
pass- 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.
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 on it.
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
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).
Requires Python 3.10 or later. Designed for OpenStack environments; utility outside that ecosystem depends on compatible tracing backends.
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
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 packagesnetaddroslo.concurrencyoslo.configoslo.serializationoslo.utilsPrettyTablerequestsWebOb |
| 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 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13 |
Evidence: osprofiler-4.4.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “openstack profiling”
- osprofilerOSProfiler generates distributed request traces across OpenStack…
- openstacksdkopenstacksdk is a client library for interacting with OpenStack…
- keystoneauth1Provides authentication plugins, API discovery, and session…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.
Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.
See also os-client-config · os-service-types · os-vif · oslo.service · perfetto · oslo.reports · oslo.log · os-ken · os-testr · os-traits