haproxy/addons
Miroslav Zagorac 8effcac6f5 MEDIUM: otel: added HTTP header operations for context propagation
Added the HTTP header manipulation layer that enables span context
injection into and extraction from HAProxy's HTX message buffers,
completing the end-to-end context propagation path.

The new http.c module implements three public functions:
flt_otel_http_headers_get() extracts HTTP headers matching a name prefix
from the channel's HTX buffer into an otelc_text_map structure, stripping
the prefix and separator dash from header names before storage;
flt_otel_http_header_set() constructs a full header name from a prefix and
suffix joined by a dash, removes all existing occurrences, and optionally
adds the header with a new value; and flt_otel_http_headers_remove()
removes all headers matching a given prefix.  A debug-only
flt_otel_http_headers_dump() logs all HTTP headers from a channel at
NOTICE level.

The scope runner in event.c now extracts propagation contexts from HTTP
headers before processing spans: for each configured extract context, it
calls flt_otel_http_headers_get() to read matching headers into a text
map, then passes the text map to flt_otel_scope_context_init() which
extracts the OTel span context from the carrier.  After span execution,
the span runner injects the span context back into HTTP headers via
flt_otel_inject_http_headers() followed by flt_otel_http_header_set()
for each propagation key.

The unused resource cleanup in flt_otel_scope_free_unused() now also
removes contexts that failed extraction by deleting their associated
HTTP headers via flt_otel_http_headers_remove() before freeing the scope
context structure.
2026-04-13 09:23:26 +02:00
..
51degrees BUILD: 51d: fix build issue with recent compilers 2022-12-15 19:36:13 +01:00
deviceatlas CLEANUP: deviceatlas: add unlikely hints and minor code tidying 2026-02-14 15:49:00 +01:00
ot MEDIUM: stream: Map task wake up reasons to dedicated stream events 2025-01-28 14:53:37 +01:00
otel MEDIUM: otel: added HTTP header operations for context propagation 2026-04-13 09:23:26 +02:00
promex MINOR: promex: export "haproxy_sticktable_local_updates" metric 2026-03-18 11:18:37 +01:00
wurfl LICENSE: wurfl: clarify the dummy library license. 2022-12-02 05:32:46 +01:00