Pyroscope can integrate with distributed tracing systems supporting OpenTelemetry standard which allows you to link traces with the profiling data, and find specific lines of code related to a performance issue.
- Because of how sampling profilers work, spans shorter than the sample interval may not be captured. By default pyroscope CPU profiler probes stack traces 100 times per second, meaning that spans shorter than 10ms may not be captured.
Java code can be easily instrumented with the otel-profiling-java package, an OpenTelemetry implementation that annotates profiling data with trace_id and span_id labels, which makes it possible to filter the profile of a particular trace (or trace span) in Pyroscope.
Visit docs page for usage and configuration documentation.
Check out the examples directory in our repository to find a complete example application that demonstrates tracing integration features and learn more 🔥