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?