Class TracingKafkaProducer<K,V>
- java.lang.Object
-
- org.springframework.cloud.sleuth.instrument.kafka.TracingKafkaProducer<K,V>
-
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.kafka.clients.producer.Producer<K,V>
public class TracingKafkaProducer<K,V> extends Object implements org.apache.kafka.clients.producer.Producer<K,V>
This decorates a KafkaProducerand creates aSpan.Kind.PRODUCERspan for each record sent. This span is also injected onto each record (via headers) so it becomes the parent when a consumer later receives the record.- Since:
- 3.1.0
- Author:
- Anders Clausen, Flaviu Muresan
-
-
Constructor Summary
Constructors Constructor Description TracingKafkaProducer(org.apache.kafka.clients.producer.Producer<K,V> producer, org.springframework.beans.factory.BeanFactory beanFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidabortTransaction()voidbeginTransaction()voidclose()voidclose(Duration duration)voidcommitTransaction()voidflush()voidinitTransactions()Map<org.apache.kafka.common.MetricName,? extends org.apache.kafka.common.Metric>metrics()List<org.apache.kafka.common.PartitionInfo>partitionsFor(String s)Future<org.apache.kafka.clients.producer.RecordMetadata>send(org.apache.kafka.clients.producer.ProducerRecord<K,V> producerRecord)Future<org.apache.kafka.clients.producer.RecordMetadata>send(org.apache.kafka.clients.producer.ProducerRecord<K,V> producerRecord, org.apache.kafka.clients.producer.Callback callback)voidsendOffsetsToTransaction(Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> map, String s)voidsendOffsetsToTransaction(Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> map, org.apache.kafka.clients.consumer.ConsumerGroupMetadata consumerGroupMetadata)
-
-
-
Method Detail
-
initTransactions
public void initTransactions()
-
beginTransaction
public void beginTransaction() throws org.apache.kafka.common.errors.ProducerFencedException
-
sendOffsetsToTransaction
public void sendOffsetsToTransaction(Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> map, String s) throws org.apache.kafka.common.errors.ProducerFencedException
-
sendOffsetsToTransaction
public void sendOffsetsToTransaction(Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> map, org.apache.kafka.clients.consumer.ConsumerGroupMetadata consumerGroupMetadata) throws org.apache.kafka.common.errors.ProducerFencedException
-
commitTransaction
public void commitTransaction() throws org.apache.kafka.common.errors.ProducerFencedException
-
abortTransaction
public void abortTransaction() throws org.apache.kafka.common.errors.ProducerFencedException
-
send
public Future<org.apache.kafka.clients.producer.RecordMetadata> send(org.apache.kafka.clients.producer.ProducerRecord<K,V> producerRecord)
-
send
public Future<org.apache.kafka.clients.producer.RecordMetadata> send(org.apache.kafka.clients.producer.ProducerRecord<K,V> producerRecord, org.apache.kafka.clients.producer.Callback callback)
-
flush
public void flush()
-
metrics
public Map<org.apache.kafka.common.MetricName,? extends org.apache.kafka.common.Metric> metrics()
-
close
public void close()
-
-