Skip to content

Propagation: Support extraction of multiple values for a single key #1032

@jamesmoessis

Description

@jamesmoessis

In order to fully support W3C baggage specifications (and some others like tracestate), micrometer must be able to receive and extract multiple headers of the same key. For example, two baggage headers.

This is now fully supported by OpenTelemetry (spec PR) and also recently stabilised in opentelemetry-java (PR).

The micrometer-otel-bridge will need updating in order to support this, and to align with the W3C spec, and bridge to OpenTelemtry's getAll(), which will be released as stable in opentelemetry-java 1.50 release within the coming days.

The Getter interface in Micrometer will need to be updated - a method to allow List<String> getAll() on top of the existing String get(). This can be a default method that just return List.of(get()) if not implemented, for backwards compatibility.

It's possible I may have missed other parts that need to be handled - if so feel free to add / correct me!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions