Go Experiment Links pprof CPU Profiles to OpenTelemetry Traces via OTLP

A developer experiment demonstrates how to connect Go's built-in pprof CPU profiling data to OpenTelemetry trace and span IDs using the OTLP Profiles format. The approach embeds trace and span IDs as pprof labels during request handling, then converts the profiling data into OTLP Profiles for export. The pipeline routes traces to Grafana Tempo and CPU profiles to Pyroscope, allowing engineers to navigate from a slow HTTP span directly to a flame graph of the functions that ran during it. The lab uses specific component versions including OpenTelemetry Collector 0.158.0, Pyroscope 2.2.0, and Grafana 13.1.2, and is published in a public GitHub repository. The authors caution that OpenTelemetry Profiles is still an evolving standard, so compatibility must be re-verified as versions change.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in