OpenTelemetry
Overview of the HAProxy OpenTelemetry filter
On this page
This page applies to:
- HAProxy 3.4 and newer
The HAProxy OpenTelemetry filter enables HAProxy to emit telemetry data—traces, metrics, and logs—to any OpenTelemetry-compatible backend via the OpenTelemetry protocol (OTLP). It’s the successor to the OpenTracing (OT) filter, built on the OpenTelemetry standard, which unifies distributed tracing, metrics, and logging into a single observability framework. The filter runs on both mode http and mode tcp proxies; on a TCP proxy it traces the connection lifecycle and counts the forwarded payload through the otel.bytes_in and otel.bytes_out sample fetches.
Learn how to install the filter.
Features Jump to heading
The filter supports these features.
| Feature | Description |
|---|---|
| Distributed tracing | Define spans with parent-child relationships, context propagation via HTTP headers or HAProxy variables, links, baggage, and status. |
| Metrics | Emit metrics as counters, histograms, up-down counters, and gauge instruments with configurable aggregation and bucket boundaries. |
| Logging | Emit log records with severity levels, optional span correlation, and runtime-evaluated attributes. |
| Rate limiting | Set percentage-based sampling to control overhead. |
| ACL integration | Define conditions at the instrumentation and scope levels. |
| HAProxy Runtime API | Leverage the HAProxy Runtime API to manage the HAProxy OpenTelemetry integration. Enable/disable the filter, adjust the rate, change the error mode, and inspect the status. |