skillfed

osprofiler

OpenStack Profiler Library

osprofiler v4.4.0 375.8K downloads/30d#7,133 on PyPI
Permissive license Apache-2.0 Active released

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 osprofiler

uv

uv add osprofiler

poetry

poetry add osprofiler

Installing 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

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

Tags

distributed request tracingopenstack profilingcross-service performance analysisrequest trace collectionlatency debugging across servicesopenstack performance monitoringtrace tree visualization
distributed-tracingopenstackperformance-profiling

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

os-client-config

Collects and manages OpenStack cloud client…

permissive · top 15,000 on PyPI

os-service-types

Provides access to OpenStack service-type…

permissive · top 5,000 on PyPI

os-vif

os-vif provides a library for managing the…

permissive · top 15,000 on PyPI

oslo.service

oslo.service provides a framework for building…

permissive · top 15,000 on PyPI

perfetto

Perfetto is a Python binding for Perfetto's…

permissive · top 5,000 on PyPI

oslo.reports

oslo.reports generates structured debug reports…

permissive · top 15,000 on PyPI

oslo.log

oslo.log provides standardized logging…

permissive · top 5,000 on PyPI

os-ken

os-ken is a component-based software defined…

permissive · top 15,000 on PyPI

os-testr

os-testr wraps the testr test runner to provide…

permissive · top 15,000 on PyPI

os-traits

os-traits provides a standardized catalog of…

permissive · top 15,000 on PyPI