Setting Quarkus Opentelemetry Propagators

168 Views Asked by At

I am trying to understand the purpose of setting this property in the application.properties

quarkus.opentelemetry.propagators=tracecontext,baggage,jaeger

I know the tracecontext and baggage are default. Not sure what the jaeger or this property itself does. We have Jaeger collector and i am able to see all the traces/spans without setting this property. Looking at the docs, it seems this has some vital behavior. Any idea what i am missing here and how the flow works without setting this property with jaeger collector

Thank you SG

1

There are 1 best solutions below

2
On

quarkus.opentelemetry.propagators or the new property for Quarkus v3.x+: quarkus.otel.propagators will allow you to use one or more propagation frameworks. In the example you give, headers for tracecontext,baggage,jaeger will be added to the outbound requests.

You can say that you are duplicating the context and the baggage data in 2 different formats, on the outbound request. Upon receiving the request, external systems understanding the default W3C will use the tracecontext and baggage headers, systems understanding Jaeger format will use the data on the jaeger header.

For more details check the quarkus.otel.propagators property and the propagators section of the Quarkus OpenTelemetry guide. There, you can explore guidelines on integrating additional libraries into Quarkus to enable support for non-standard propagation mechanisms permitted by the Java implementation of OpenTelemetry.