--- id: osprofiler version: "4.4.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # osprofiler — OpenStack Profiler Library License: permissive · Maintenance: active · Downloads: 375.8K/mo ## 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 above — 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 pip install osprofiler uv add osprofiler 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_current - Install friction: low - Maintenance: active - Downloads: 375.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags distributed request tracing, openstack profiling, cross-service performance analysis, request trace collection, latency debugging across services, openstack performance monitoring, trace tree visualization, distributed-tracing, openstack, performance-profiling [View on SkillFed](https://skillfed.io/packages/osprofiler) · [View on PyPI](https://pypi.org/project/osprofiler/)