Skip to content

Commit da4b118

Browse files
committed
add capture header to producer and consumer
1 parent 42dce27 commit da4b118

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/main/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/TracingConsumerInterceptor.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import io.opentelemetry.instrumentation.api.internal.Timer;
1313
import io.opentelemetry.instrumentation.kafkaclients.common.v0_11.internal.KafkaConsumerContext;
1414
import io.opentelemetry.instrumentation.kafkaclients.common.v0_11.internal.KafkaConsumerContextUtil;
15+
import java.util.ArrayList;
1516
import java.util.Map;
1617
import java.util.Objects;
1718
import org.apache.kafka.clients.consumer.ConsumerConfig;
@@ -32,6 +33,9 @@ public class TracingConsumerInterceptor<K, V> implements ConsumerInterceptor<K,
3233
.setMessagingReceiveInstrumentationEnabled(
3334
ConfigPropertiesUtil.getBoolean(
3435
"otel.instrumentation.messaging.experimental.receive-telemetry.enabled", false))
36+
.setCapturedHeaders(
37+
ConfigPropertiesUtil.getList(
38+
"otel.instrumentation.messaging.experimental.capture-headers", new ArrayList<>()))
3539
.build();
3640

3741
private String consumerGroup;

instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/main/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/TracingProducerInterceptor.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
import com.google.errorprone.annotations.CanIgnoreReturnValue;
99
import io.opentelemetry.api.GlobalOpenTelemetry;
10+
import io.opentelemetry.instrumentation.api.internal.ConfigPropertiesUtil;
11+
import java.util.ArrayList;
1012
import java.util.Map;
1113
import java.util.Objects;
1214
import javax.annotation.Nullable;
@@ -22,7 +24,12 @@
2224
*/
2325
public class TracingProducerInterceptor<K, V> implements ProducerInterceptor<K, V> {
2426

25-
private static final KafkaTelemetry telemetry = KafkaTelemetry.create(GlobalOpenTelemetry.get());
27+
private static final KafkaTelemetry telemetry =
28+
KafkaTelemetry.builder(GlobalOpenTelemetry.get())
29+
.setCapturedHeaders(
30+
ConfigPropertiesUtil.getList(
31+
"otel.instrumentation.messaging.experimental.capture-headers", new ArrayList<>()))
32+
.build();
2633

2734
@Nullable private String clientId;
2835

0 commit comments

Comments
 (0)