> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Jaeger setup for microservices

> The scope of this document is to present some basic information on how to include Jaeger tracing into a Java based project.

## Required dependencies

```xml theme={"dark"}
<dependency>
    <groupId>io.jaegertracing</groupId>
    <artifactId>jaeger-client</artifactId>
    <version>1.4.0</version>
</dependency>
<dependency>
    <groupId>io.opentracing.contrib</groupId>
    <artifactId>opentracing-kafka-client</artifactId>
    <version>0.1.13</version>
</dependency>
```

## Needed configs

### Add Kafka interceptors for Tracing

```yaml theme={"dark"}
kafka:
    producer:
        properties:
            interceptor:
                classes: io.opentracing.contrib.kafka.TracingProducerInterceptor

kafka:
    consumer:
        properties:
            interceptor:
                classes: io.opentracing.contrib.kafka.TracingConsumerInterceptor
```

### Extract Jaeger span context from received Kafka message

```java theme={"dark"}
@KafkaListener(topics = "${TOPIC_NAME}")
public void listen(ConsumerRecord<String, String> record) {
    // some code
    SpanContext spanContext = TracingKafkaUtils.extractSpanContext(record.headers(), tracer);
    // some other code
}
```

<Tip>
  Use this context to create child spans of it and log events from adapter:

  ```java theme={"dark"}
  Span span = tracer.buildSpan(JAEGER_SPAN_NAME).asChildOf(spanContext).start();
  ```
</Tip>

### Send span context with outgoing Kafka messages

```java theme={"dark"}
ProducerRecord<String, Object> producerRecord = new ProducerRecord<>(responseTopic, responseMessage);

TracingKafkaUtils.inject(span.context(), producerRecord.headers(), tracer);

kafkaTemplate.send(producerRecord);
```


## Related topics

- [Deployment guidelines v4.6.0](/release-notes/v4.x/v4.6.x/v4.6.0-january-2025/deployment-guidelines-v4.6.0.md)
- [Deployment guidelines v5.5.0](/release-notes/v5.x/v5.5.0-february-2026/deployment-guidelines-v5.5.md)
- [Overview](/release-notes/v5.x/v5.5.0-february-2026/migrating-from-v5.4-to-v5.5/migration-overview.md)
- [Deployment guidelines v5.4.0](/release-notes/v5.x/v5.4.0-january-2026/deployment-guidelines-v5.4.md)
- [FlowX.AI 5.0.0 Release Notes](/release-notes/v5.x/v5.0.0-july-2025/v5.0.0-july-2025.md)
