diff --git a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/pom.xml b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/pom.xml
index 326abe5f9..7e1cff0d3 100644
--- a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/pom.xml
+++ b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/pom.xml
@@ -84,6 +84,39 @@
awaitility
test
+
+ io.micrometer
+ context-propagation
+ optional
+
+
+
+ io.micrometer
+ micrometer-tracing-integration-test
+ test
+
+
+ io.opentelemetry
+ *
+
+
+ com.wavefront
+ *
+
+
+ io.zipkin.reporter2
+ *
+
+
+ io.micrometer
+ micrometer-tracing-bridge-otel
+
+
+ io.micrometer
+ micrometer-tracing-reporter-wavefront
+
+
+
diff --git a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinder.java b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinder.java
index ab08c90b8..d8dca0a04 100644
--- a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinder.java
+++ b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2021-2023 the original author or authors.
+ * Copyright 2021-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -25,6 +25,7 @@ import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Pattern;
+import io.micrometer.observation.ObservationRegistry;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.kafka.clients.consumer.ConsumerRecord;
@@ -84,6 +85,7 @@ import org.springframework.util.StringUtils;
* @author Gary Russell
* @author Byungjun You
* @author Omer Celik
+ * @author Soby Chacko
* @since 4.0
*
*/
@@ -111,11 +113,14 @@ public class ReactorKafkaBinder
private final Map messageProducers = new ConcurrentHashMap<>();
+ private final ObservationRegistry observationRegistry;
+
public ReactorKafkaBinder(KafkaBinderConfigurationProperties configurationProperties,
- KafkaTopicProvisioner provisioner) {
+ KafkaTopicProvisioner provisioner, @Nullable ObservationRegistry observationRegistry) {
super(new String[0], provisioner, null, null);
this.configurationProperties = configurationProperties;
+ this.observationRegistry = observationRegistry;
}
public void setConsumerConfigCustomizer(ConsumerConfigCustomizer consumerConfigCustomizer) {
@@ -194,6 +199,9 @@ public class ReactorKafkaBinder
SenderOptions