# Vert.x Kafka Client

<!-- llms-txt-link: /llms.txt -->

> OpenTelemetry Java agent instrumentation

This instrumentation enables messaging spans for Kafka consumers using the Vert.x Kafka Client library.

- **Name**: `vertx-kafka-client-3.6`
- **Scope**: `io.opentelemetry.vertx-kafka-client-3.6`
- **Target versions**: `io.vertx:vertx-kafka-client:[3.5.1,)`
- **Library**: https://vertx.io/docs/vertx-kafka-client/java/

## Telemetry

- **Span attributes**: `messaging.batch.message_count`, `messaging.client_id`, `messaging.destination.name`, `messaging.destination.partition.id`, `messaging.kafka.message.key`, `messaging.kafka.message.offset`, `messaging.message.body.size`, `messaging.operation`, `messaging.system`, `kafka.record.queue_time_ms`

## Configuration

| Option | Type | Default | Description |
| --- | --- | --- | --- |
| `otel.instrumentation.messaging.experimental.capture-headers` | list |  | A comma-separated list of header names to capture as span attributes. |
| `otel.instrumentation.kafka.experimental-span-attributes` | boolean | false | Enables the capture of the experimental consumer attributes `kafka.record.queue_time_ms` and `messaging.kafka.bootstrap.servers`. |
| `otel.instrumentation.kafka.producer-propagation.enabled` | boolean | true | Enable context propagation for Kafka message producers. |
| `otel.instrumentation.messaging.experimental.receive-telemetry.enabled` | boolean | false | Enables experimental receive telemetry, which will cause consumers to start a new trace, with only a span link connecting it to the producer trace. |

## Data

- **JSON**: [/data/javaagent/instrumentations/vertx-kafka-client-3.6/vertx-kafka-client-3.6-c05474e7e994.json](/data/javaagent/instrumentations/vertx-kafka-client-3.6/vertx-kafka-client-3.6-c05474e7e994.json)
- **Explore**: [/java-agent/instrumentation/vertx-kafka-client-3.6](/java-agent/instrumentation/vertx-kafka-client-3.6)
