Skip to main content
This guide shows how to enable and configure extensions in the OpenTelemetry Collector. Extensions provide additional HTTP endpoints and runtime diagnostics (health, debug pages, pprof, etc.). You declare extensions in the top-level extensions section and activate them by listing them in service.extensions. Below we cover the minimal configuration, a more complete example with TLS/debug settings, example responses, and how to access each extension.

Minimal configuration example

A compact configuration that enables three extensions together with log and metrics pipelines:

Full example showing TLS/debug and extension endpoints

This more complete configuration demonstrates TLS/debug settings, explicit extension endpoints, and enabling the extensions in the service block:
tls.insecure: true is useful for local testing. Do NOT use it in production—configure TLS properly for production deployments.
Extensions must be both declared under extensions and enabled by listing them in service.extensions. Declaring them alone does not activate them.
After updating the Collector configuration, restart the Collector process (or redeploy your Collector pod/container) so the configuration changes take effect.

Common extensions and their default endpoints

ExtensionPurposeExample endpoint
health_checkLiveness / availability information0.0.0.0:13133
pprofGo runtime profiling endpoints (CPU, memory, goroutines, etc.)0.0.0.0:1777
zpagesRuntime debug pages for collectors (servicez, tracez, etc.)0.0.0.0:55679

Health check output example

When health_check is active, requesting the endpoint returns a short JSON payload showing availability, start time, and uptime:
Use the health check for liveness probes and basic operational checks in orchestration platforms (for example, Kubernetes liveness/readiness probes).

zPages: runtime debug pages

The zPages extension exposes several debug pages. Use the Collector host/IP and the configured zPages port, then append the debug path. Examples:
  • Service info: http://collector-host:55679/debug/servicez
  • Traces: http://collector-host:55679/debug/tracez
The servicez page includes build/runtime information (start time, Go version, OS/arch, command used to run the Collector) and visualizes the configured/built pipelines.
The image shows a webpage with information about the OpenTelemetry Collector Contrib service, including build and runtime details such as the command, version, Go version, operating system, and architecture.
The servicez view also shows built pipelines with details such as full name, input type, whether the pipeline mutates data, receivers, ordered processors, and exporters.
The image shows a web page displaying a table titled "builtPipelines," detailing data processing pipelines with columns for FullName, InputType, MutatesData, Receivers, Processors, and Exporters.
There is also a featurez section that lists feature gates and their current state. Example entries you might see:
Feature gateState
cloudfoundry.resourceAttributes.allowtrue
confilhttp.framedSnappytrue
conflmap.enableMergeAppendOptionfalse
connector.datadogconnector.NativeIngesttrue
connector.servicegraph.legacyLatencyMetricNamesfalse
connector.servicegraph.legacyLatencyUnitMsfalse
connector.servicegraph.virtualNodetrue
connector.spanmetrics.legacyMetricNamesfalse
connector.EnableOperationAndResourceV2true

tracez: inspect traces and spans

To view a live trace/span overview, open: http://collector-host:55679/debug/tracez tracez shows incoming and sampled spans grouped by span name and request path. You can inspect span counts, latency buckets, error samples, and drill into sampled trace IDs and span IDs. Sampled traces are commonly highlighted (for example, in blue).
The image shows a table from a web page labeled "Trace Spans," displaying data on different spans, latency samples, and error samples for various HTTP requests. It includes details on running processes and latency buckets ranging from microseconds to minutes.

pprof: Go runtime profiling

If you enable pprof (for example on port 1777), the pprof index is available at: http://collector-host:1777/debug/pprof/ The index lists profiles such as allocs, heap, block, mutex, cpu (profiling for a duration), and goroutine (stack traces). Clicking a profile endpoint (for example a 30-second CPU profile) downloads a pprof file that you can analyze locally with the pprof tool or upload to web viewers like Speedscope.
The image shows a web page displaying profiling data from the /debug/pprof/ endpoint, listing types of profiles available and their respective descriptions. The profiles include allocations, goroutines, heap, and others, with associated counts.
Typical pprof visualizations:
  • Graph view: call graph showing relationships between functions during the profiling window.
  • Flame graph: highlights hot paths; width corresponds to CPU time consumed by the call stack.
pprof helps diagnose CPU hotspots, contention, blocking, and memory allocation patterns—useful for advanced debugging and performance tuning. This page focused on enabling and accessing the Collector extensions. For production use, ensure you secure debug endpoints, configure TLS correctly, and restrict access to diagnostic endpoints.

Watch Video