java.lang.Object
io.opentelemetry.instrumentation.kafkaclients.v2_6.KafkaTelemetry

public final class KafkaTelemetry extends Object
  • Method Summary

    Modifier and Type
    Method
    Description
    builder(io.opentelemetry.api.OpenTelemetry openTelemetry)
    Returns a new KafkaTelemetryBuilder configured with the given OpenTelemetry.
    create(io.opentelemetry.api.OpenTelemetry openTelemetry)
    Returns a new KafkaTelemetry configured with the given OpenTelemetry.
    Produces a set of kafka client config properties (consumer or producer) to register a MetricsReporter that records metrics to an openTelemetry instance.
    <K, V> org.apache.kafka.clients.consumer.Consumer<K,V>
    wrap(org.apache.kafka.clients.consumer.Consumer<K,V> consumer)
    Returns a decorated Consumer that 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 decorated Producer that emits spans for each sent message.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • create

      public static KafkaTelemetry create(io.opentelemetry.api.OpenTelemetry openTelemetry)
      Returns a new KafkaTelemetry configured with the given OpenTelemetry.
    • builder

      public static KafkaTelemetryBuilder builder(io.opentelemetry.api.OpenTelemetry openTelemetry)
      Returns a new KafkaTelemetryBuilder configured with the given OpenTelemetry.
    • wrap

      public <K, V> org.apache.kafka.clients.producer.Producer<K,V> wrap(org.apache.kafka.clients.producer.Producer<K,V> producer)
      Returns a decorated Producer that 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 decorated Consumer that consumes spans for each received message.
    • metricConfigProperties

      public Map<String,?> metricConfigProperties()
      Produces a set of kafka client config properties (consumer or producer) to register a MetricsReporter that records metrics to an openTelemetry instance. Add these resulting properties to the configuration map used to initialize a KafkaConsumer or KafkaProducer.

      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