OpenTracing

JVM since0.3.0 Native since0.3.0

Distributed tracing using OpenTracing

What’s inside

Please refer to the above link for usage and configuration details.

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

quarkus.camel.opentracing.encoding

Sets whether header keys need to be encoded

boolean

false

quarkus.camel.opentracing.exclude-patterns

Sets whether to disable tracing for endpoint URIs that match the given patterns

string

Configuration property fixed at build time. All other configuration properties are overridable at runtime.