OpenTracing
JVM since0.3.0 Native since0.3.0 ⚠️Deprecated
Distributed tracing using OpenTracing
Maven coordinates
Or add the coordinates to your existing project:
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-opentracing</artifactId>
</dependency>
Check the User guide for more information about writing Camel Quarkus applications.
Usage
The extension automatically creates a Camel OpenTracingTracer
and binds it to the Camel registry.
In order to send the captured traces to a tracing system, you need to configure some properties within application.properties
like those below.
quarkus.jaeger.service-name=my-service
quarkus.jaeger.sampler-type=const
quarkus.jaeger.sampler-param=1
quarkus.jaeger.endpoint=http://localhost:14268/api/traces
Refer to the Quarkus OpenTracing guide for a full list of configuration options.
Route endpoints can be excluded from tracing by configuring a property named quarkus.camel.opentracing.exclude-patterns
in application.properties
. For example:
# Exclude all direct & netty-http endpoints from tracing
quarkus.camel.opentracing.exclude-patterns=direct:*,netty-http:*
Additional Camel Quarkus configuration
Configuration property | Type | Default |
---|---|---|
Sets whether header names need to be encoded. Can be useful in situations where OpenTracing propagators potentially set header name values in formats that are not compatible with the target system. E.g for JMS where the specification mandates header names are valid Java identifiers. |
|
|
Sets whether to disable tracing for endpoint URIs that match the given patterns |
|
Configuration property fixed at build time. All other configuration properties are overridable at runtime.