OTLP (OpenTelemetry Protocol) is a general-purpose telemetry data-delivery protocol for encoding, transporting, and delivering signals between sources, collectors, and backend destinations. It uses request–response communication and can run over gRPC, HTTP, and, going forward, WebSockets. section 4.3.2
OTLP’s operational design emphasizes reliable delivery across telemetry pipelines:
- Reports delivery failures clearly and supports high-reliability delivery. section 4.3.2
- Supports L7 load balancers by mapping imbalanced incoming traffic to balanced outgoing traffic. section 4.3.2
- Carries backpressure from destinations to sources, enabling reliable multihop delivery through collectors with different processing capacities. section 4.3.2
- Serves as the native protocol for communicating with an OpenTelemetry Collector, whose pipelines receive, process, and export signals. section 4.3.2
- Provides an increasingly standard wire format across metrics, traces, logs, and eventually profiles, although native OTLP support was not yet universal in 2023. section 5.6.4 section 4.6
OTLP through a collector
A Docker Compose deployment configures an application to send OTLP to an OpenTelemetry Collector at otel-collector:4317. The collector accepts OTLP over gRPC, batches trace data, and exports traces to Jaeger; a separate metrics pipeline receives Prometheus data and exports it to Prometheus. This arrangement illustrates OTLP as the application-to-collector delivery path within a larger receive–process–export workflow.

