haproxy/addons
Miroslav Zagorac ea9d05de02 MEDIUM: otel: added context propagation via carrier interfaces
Added the span context injection and extraction layer that bridges the
OTel C wrapper's propagation API with HAProxy's HTTP headers and text map
carriers.

The new otelc.c module implements four public functions that wrap the
OTel C wrapper's context propagation methods: flt_otel_inject_text_map()
and flt_otel_inject_http_headers() serialize a span's context into
a text map or HTTP headers carrier for outbound propagation, while
flt_otel_extract_text_map() and flt_otel_extract_http_headers()
deserialize an inbound carrier into an otelc_span_context for parent
linking.

Each direction uses a pair of callbacks registered on the carrier
structure.  The injection writers (flt_otel_text_map_writer_set_cb and
flt_otel_http_headers_writer_set_cb) store key-value pairs emitted by the
SDK into the carrier's text map via OTELC_TEXT_MAP_ADD().  The extraction
readers (flt_otel_text_map_reader_foreach_key_cb and
flt_otel_http_headers_reader_foreach_key_cb) iterate the carrier's text
map entries and pass each pair to the SDK's handler callback.

The scope context initialization in flt_otel_scope_context_init() now
calls flt_otel_extract_http_headers() to extract the span context from the
provided text map carrier and stores it in the scope context structure,
making extracted contexts available for parent linking in subsequent span
creation.
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 context propagation via carrier interfaces 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