OpenTracing
Since Camel Quarkus 0.3.0, JVM and native
Distributed tracing using OpenTracing
Maven coordinates
<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
The Camel OpenTracing extension exposes the following configuration properties.
Configuration property | Type | Default |
---|---|---|
Sets whether header keys need to be encoded |
boolean |
|
Sets whether to disable tracing for endpoint URIs that match the given patterns |
List<String> |