- Internal metrics (Prometheus format) for runtime visibility and alerting.
- Health checks to confirm the Collector is up and ready.
- zPages to inspect live traces, spans, and internal workings of receivers and exporters.
- Performance profiler (pprof) for detailed CPU and memory profiling.
pprof is an advanced diagnostic tool used for deep performance investigations. It’s usually not necessary for routine troubleshooting.

- Metrics let you quantify throughput, error rates, drops, and resource pressure.
- Health checks give a quick boolean of liveness/readiness.
- zPages provide an interactive look at pipeline internals without stopping the Collector.
- pprof helps find hotspots, memory leaks, and expensive code paths.
| Diagnostic tool | Purpose | Where to learn more |
|---|---|---|
| Internal metrics (Prometheus) | Monitor pipeline throughput, failures, queue sizes, resource usage | Prometheus |
| Health checks | Liveness/readiness probes for orchestration platforms | Collector docs |
| zPages | Live inspection of receivers/exporters and internal spans | zPages extension |
| pprof | CPU/memory profiling for deep performance analysis | net/http/pprof docs |
Important: Do not expose Collector telemetry endpoints (metrics, pprof, zPages, health) to the public internet. Restrict access with network controls, authentication, or internal-only interfaces.
http://<collector-host>:8888/metrics (or the host/port you configure).
What these metrics reveal
Internal metrics provide insights into:
- Pipeline health and stability
- Throughput for receivers, processors, and exporters
- Performance hotspots and bottlenecks
- Backpressure and queue growth indicating possible drops
- Resource pressure (CPU, memory) and potential leaks
- Which components are loaded and their versions (metadata)

- Prefix:
otelcol_— indicates the metric is from the OpenTelemetry Collector. - Component:
receiver,exporter,processor,extension, etc. - Signal (optional):
traces,metrics,logs. - Suffix: e.g.,
_totalfor counters,_bytes,_duration_seconds.
- Receiver activity:
otelcol_receiver_accepted_traces_total— incoming traffic accepted by receivers. - Refused/Rejected metrics:
otelcol_receiver_refused_traces_total— indicates drops due to limits or malformed inputs. - Exporter success/failure:
otelcol_exporter_sent_spans_total,otelcol_exporter_send_failed_spans_total— failures often mean connectivity/backend issues. - Queue/Buffer metrics: queue size growth suggests backpressure or downstream slowness.
- Processor metrics: batch sizes and timeout metrics help tune throughput vs. latency.
- Process/resource metrics: CPU, memory, heap allocations (
process_cpu_seconds_total, memory-related metrics) show resource pressure. - Metadata metrics:
otel_scope_infoand similar indicate active components and versions.

http://<collector-host>:8888/metrics when using the example config above):
- Scrape with Prometheus or any compatible scrape-based monitoring system.
- The Collector can also ingest its own metrics and forward them to any supported backend for dashboards, alerts, and long-term analysis.
- Check receiver accepted/refused counters for ingestion issues.
- Inspect exporter send failures to identify backend problems.
- Monitor queue size and processor metrics for backpressure.
- Correlate process CPU/memory metrics with spikes in refused or failed counts.
- Use zPages for quick, live introspection; use pprof for deep performance profiling.
- A. Memory usage
- B. Exported queue size
- C. Rejected traces
- D. otelcol_processor_refused_spans_total

- The phrasing “refusing new span data” maps directly to a refused-spans metric. The metric
otelcol_processor_refused_spans_totalexplicitly records spans that were refused by a processor (for example, because of memory pressure or configured dropping rules). Parse metric names logically: component → action → signal.
- Focus on the consistent naming pattern:
otelcol_<component>_<action>_<signal>_<suffix>. - Use metrics to pinpoint where the problem lies (receivers, processors, exporters, or resource exhaustion) and then apply targeted debugging (zPages, logs, pprof) as needed.