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.

Do you have any suggestions on how we can improve the content of this page? Please leave feedback!