Commit Graph
2 Commits
Author SHA1 Message Date
Oleksandr Shevchenko ce75f008b0 Add baggage tag fields to spans with OpenTelemetry
With OpenTelemetry, fields listed in management.tracing.baggage.tag-fields
only became span tags when the application itself touched the baggage
through the Tracer API. Baggage that arrived with a request was
propagated correctly, but spans were not tagged with it (see
micrometer-metrics/tracing#933).

This commit registers Micrometer Tracing's BaggageTaggingSpanProcessor
whenever baggage is enabled and at least one tag field is configured, so
that spans are tagged with the baggage that is present in their parent
context. A custom BaggageTaggingSpanProcessor bean backs off the
auto-configured one. The tag-fields property is now also mentioned in
the baggage section of the tracing documentation.

See gh-51656

Signed-off-by: Oleksandr Shevchenko <oleksandr.shevchenko@datarobot.com>
2026-09-11 11:18:02 +01:00
Oleksandr Shevchenko 020584c36a Document baggage propagation over gRPC
Baggage is already propagated over gRPC by the auto-configured
Micrometer observation interceptors: on the server side the
ObservationGrpcServerInterceptor hands the incoming metadata to the
tracing observation handlers, which extract the W3C baggage header as
well as the individual metadata keys listed in
management.tracing.baggage.remote-fields, and on the client side the
ObservationGrpcClientInterceptor writes them to the metadata of
outgoing calls. This was not documented, and it is easy to miss that
it requires micrometer-core on the classpath.

This commit adds an Observability section to the gRPC server
documentation, extends the gRPC client Observability section, and
mentions gRPC in the baggage section of the tracing documentation.

See gh-51597

Signed-off-by: Oleksandr Shevchenko <oleksandr.shevchenko@datarobot.com>
2026-09-10 15:33:57 +01:00