Menu

This is documentation for the next version of Pyroscope. For the latest stable release, go to the latest version.

Open source

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:

  1. OpenTelemetry eBPF Profiler: Collects system-wide profiles
  2. OpenTelemetry Collector: Receives and forwards profile data
  3. Pyroscope: Stores and processes profiles
  4. 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.