Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
OpenTelemetry profiling support
Note
OpenTelemetry profiles is an experimental feature. Engineering and on-call support is not available. Documentation is either limited or not provided outside of code comments. No SLA is provided. Enable the feature toggle in Grafana to use this feature. Contact Grafana Support to enable this feature in Grafana Cloud.
Pyroscope includes experimental support for receiving and visualizing profiles from OpenTelemetry sources. This integration allows you to:
- Collect system-wide profiles using the OpenTelemetry eBPF profiler
- Process profile data through the OpenTelemetry Collector
- Visualize profiles in Grafana using Pyroscope
Considerations
Before getting started, you should consider the following limitations:
The OpenTelemetry profiles protocol (proto files) is under active development:
- Breaking changes are expected and have occurred
- Compatibility between components (profiler, collector, backend) requires careful version management
- We maintain support for the latest protocol version, but updates may be required frequently
Symbolization support is currently limited:
- Function names may not appear in flamegraphs for some programs
- We’re working on improving symbol resolution and adding support for manual symbol uploads
We recommend evaluating this feature for development and testing purposes, but waiting for protocol stabilization before production use
Requirements
- Linux system (amd64/arm64) for eBPF profiler
- OpenTelemetry Collector with profiles feature gate enabled
- Grafana with Pyroscope data source enabled
Architecture
The profile collection pipeline consists of:
- OpenTelemetry eBPF Profiler: Collects system-wide profiles
- OpenTelemetry Collector: Receives and forwards profile data
- Pyroscope: Stores and processes profiles
- Grafana: Visualizes profile data
Get started
For detailed setup instructions and working examples, refer to the examples repository.
The examples demonstrate deployments for both Docker and Kubernetes environments.