Class KafkaTelemetry
java.lang.Object
io.opentelemetry.instrumentation.kafkaclients.v2_6.KafkaTelemetry
-
Method Summary
Modifier and TypeMethodDescriptionstatic KafkaTelemetryBuilderbuilder(io.opentelemetry.api.OpenTelemetry openTelemetry) Returns a newKafkaTelemetryBuilderconfigured with the givenOpenTelemetry.static KafkaTelemetrycreate(io.opentelemetry.api.OpenTelemetry openTelemetry) Returns a newKafkaTelemetryconfigured with the givenOpenTelemetry.Produces a set of kafka client config properties (consumer or producer) to register aMetricsReporterthat records metrics to anopenTelemetryinstance.<K,V> org.apache.kafka.clients.consumer.Consumer<K, V> wrap(org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Returns a decoratedConsumerthat consumes spans for each received message.<K,V> org.apache.kafka.clients.producer.Producer<K, V> wrap(org.apache.kafka.clients.producer.Producer<K, V> producer) Returns a decoratedProducerthat emits spans for each sent message.
-
Method Details
-
create
Returns a newKafkaTelemetryconfigured with the givenOpenTelemetry. -
builder
Returns a newKafkaTelemetryBuilderconfigured with the givenOpenTelemetry. -
wrap
public <K,V> org.apache.kafka.clients.producer.Producer<K,V> wrap(org.apache.kafka.clients.producer.Producer<K, V> producer) Returns a decoratedProducerthat emits spans for each sent message. -
wrap
public <K,V> org.apache.kafka.clients.consumer.Consumer<K,V> wrap(org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Returns a decoratedConsumerthat consumes spans for each received message. -
metricConfigProperties
Produces a set of kafka client config properties (consumer or producer) to register aMetricsReporterthat records metrics to anopenTelemetryinstance. Add these resulting properties to the configuration map used to initialize aKafkaConsumerorKafkaProducer.For producers:
// Map<String, Object> config = new HashMap<>(); // config.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, ...); // config.putAll(kafkaTelemetry.metricConfigProperties()); // try (KafkaProducer<?, ?> producer = new KafkaProducer<>(config)) { ... }For consumers:
// Map<String, Object> config = new HashMap<>(); // config.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, ...); // config.putAll(kafkaTelemetry.metricConfigProperties()); // try (KafkaConsumer<?, ?> consumer = new KafkaConsumer<>(config)) { ... }- Returns:
- the kafka client properties
-