Pprof Receiver
contrib
Maintainers: @MovieStoreGuy, @atoulme
Source: opentelemetry-collector-contrib
Overview
Configuration
The receiver supports four independent ingestion modes that can be combined in a single receiver instance. At least one section must be configured.remote: poll pprof from a remote HTTP endpointfile: read pprof files matching a glob patternself: profile the running collectorserver: accept pushed pprof data over HTTP atPOST /v1/pprof
remote, file, self) accepts its own collection_interval
(default 10s) and initial_delay (default 1s).
remote
Accepts every field of confighttp.ClientConfig.
endpoint(required): the URL to fetch pprof data from.
file
include(required): glob pattern for pprof files to read.
self
block_profile_fraction(default1): fraction of blocking events profiled. See https://golang.org/pkg/runtime/#SetBlockProfileRate.mutex_profile_fraction(default1): fraction of mutex contention events profiled. See https://golang.org/pkg/runtime/#SetMutexProfileFraction.
server
Accepts every field of confighttp.ServerConfig.
The server exposes a single endpoint:
profile.proto. Standard Content-Encoding values
(e.g. gzip) are handled transparently by confighttp.
Pushing an existing pprof file
Aprofile.proto is already gzip-encoded on disk by the standard runtime/pprof
package, so the file bytes can be sent as-is with Content-Encoding: gzip:
Example
Last generated: 2026-06-01