Skip to content

Commit aef5119

Browse files
committed
add capture headers to InterceptorsTest
1 parent da4b118 commit aef5119

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ tasks {
3636
excludeTestsMatching("WrapperSuppressReceiveSpansTest")
3737
}
3838
jvmArgs("-Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=true")
39+
jvmArgs("-Dotel.instrumentation.messaging.experimental.capture-headers=baggage")
3940
}
4041

4142
check {

instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsTest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@
1818
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_SYSTEM;
1919
import static org.assertj.core.api.Assertions.assertThat;
2020

21+
import io.opentelemetry.api.common.AttributeKey;
2122
import io.opentelemetry.api.trace.SpanContext;
2223
import io.opentelemetry.api.trace.SpanKind;
2324
import io.opentelemetry.sdk.trace.data.LinkData;
2425
import java.nio.charset.StandardCharsets;
26+
import java.util.Arrays;
2527
import java.util.concurrent.atomic.AtomicReference;
2628
import org.assertj.core.api.AbstractLongAssert;
2729
import org.assertj.core.api.AbstractStringAssert;
@@ -42,6 +44,11 @@ void assertTraces() {
4244
.hasKind(SpanKind.PRODUCER)
4345
.hasParent(trace.getSpan(0))
4446
.hasAttributesSatisfyingExactly(
47+
equalTo(
48+
AttributeKey.stringArrayKey("messaging.header.baggage"),
49+
Arrays.asList(
50+
"test-baggage-key-1=test-baggage-value-1",
51+
"test-baggage-key-2=test-baggage-value-2")),
4552
equalTo(MESSAGING_SYSTEM, "kafka"),
4653
equalTo(MESSAGING_DESTINATION_NAME, SHARED_TOPIC),
4754
equalTo(MESSAGING_OPERATION, "publish"),
@@ -64,6 +71,11 @@ void assertTraces() {
6471
.hasNoParent()
6572
.hasLinksSatisfying(links -> assertThat(links).isEmpty())
6673
.hasAttributesSatisfyingExactly(
74+
equalTo(
75+
AttributeKey.stringArrayKey("messaging.header.baggage"),
76+
Arrays.asList(
77+
"test-baggage-key-1=test-baggage-value-1",
78+
"test-baggage-key-2=test-baggage-value-2")),
6779
equalTo(MESSAGING_SYSTEM, "kafka"),
6880
equalTo(MESSAGING_DESTINATION_NAME, SHARED_TOPIC),
6981
equalTo(MESSAGING_OPERATION, "receive"),
@@ -78,6 +90,11 @@ void assertTraces() {
7890
.hasParent(trace.getSpan(0))
7991
.hasLinks(LinkData.create(producerSpanContext.get()))
8092
.hasAttributesSatisfyingExactly(
93+
equalTo(
94+
AttributeKey.stringArrayKey("messaging.header.baggage"),
95+
Arrays.asList(
96+
"test-baggage-key-1=test-baggage-value-1",
97+
"test-baggage-key-2=test-baggage-value-2")),
8198
equalTo(MESSAGING_SYSTEM, "kafka"),
8299
equalTo(MESSAGING_DESTINATION_NAME, SHARED_TOPIC),
83100
equalTo(MESSAGING_OPERATION, "process"),
Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,11 @@
11
description: >
2-
This instrumentation provides a library integeration that enables messaging spans and metrics for Apache Kafka 2.6+ clients.
2+
This instrumentation provides both library and wrapper integrations that enable messaging spans and metrics for Apache Kafka 2.6+ clients.
3+
configurations:
4+
- name: otel.instrumentation.messaging.experimental.capture-headers
5+
description: A comma-separated list of header names to capture as span attributes.
6+
type: list
7+
default: ''
8+
- name: otel.instrumentation.messaging.experimental.receive-telemetry.enabled
9+
description: Enables experimental receive telemetry for Kafka instrumentation.
10+
type: boolean
11+
default: false

0 commit comments

Comments
 (0)