I'm using camel 2.23 with Spring Boot for a set of microservices that send
and receive messages via Kafka. I have the individual services working with
Jaegar with no issue however I was expecting transactions to span Kafka in
Jaeger and I'm not seeing that. Rather in Jaeger the transactions stop and
start with Kafka.

In my pom.xml file (
https://github.com/gnunn1/seating/blob/master/registration-ui/pom.xml) I'm
importing the following dependencies for tracing:

    <!-- Tracing -->
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-opentracing-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>io.jaegertracing</groupId>
      <artifactId>jaeger-client</artifactId>
      <version>0.32.0</version>
    </dependency>
    <dependency>
      <groupId>io.jaegertracing</groupId>
      <artifactId>jaeger-tracerresolver</artifactId>
      <version>0.32.0</version>
    </dependency>
  </dependencies>

My application has the @CamelOpenTracing annotation on the Application
class. Finally I'm connecting to Kafka in Spring DSL as follows:

<route id="request-seat" routePolicyRef="policy">
...
<to id="send-seat" uri="kafka:registration?clientId=registration-ui"/>
 </route>

My understanding is that camel should propagate the tracing context
automatically but maybe I'm missing something? I see there is a
KafkaSpanDecorator in camel but it's not clear if this is an internal class
or something I should be using explicitly.

Thanks,

Gerald

Reply via email to