OpenTracing

Since Camel Quarkus0.3.0 JVMsupported Nativesupported

Distributed tracing using OpenTracing

What’s inside

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

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

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.