Skip to content

Commit 7646e70

Browse files
committed
add suppress method that takes span kind
1 parent 32f753b commit 7646e70

File tree

5 files changed

+22
-5
lines changed

5 files changed

+22
-5
lines changed

instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/Instrumenter.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,8 +327,15 @@ public <REQUEST, RESPONSE> Context suppressSpan(
327327
Instrumenter<REQUEST, RESPONSE> instrumenter,
328328
Context parentContext,
329329
REQUEST request) {
330-
SpanKind spanKind = instrumenter.spanKindExtractor.extract(request);
330+
return suppressSpan(
331+
instrumenter, parentContext, instrumenter.spanKindExtractor.extract(request));
332+
}
331333

334+
@Override
335+
public <REQUEST, RESPONSE> Context suppressSpan(
336+
Instrumenter<REQUEST, RESPONSE> instrumenter,
337+
Context parentContext,
338+
SpanKind spanKind) {
332339
return instrumenter.spanSuppressor.storeInContext(
333340
parentContext, spanKind, Span.getInvalid());
334341
}

instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/internal/InstrumenterAccess.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package io.opentelemetry.instrumentation.api.internal;
77

8+
import io.opentelemetry.api.trace.SpanKind;
89
import io.opentelemetry.context.Context;
910
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
1011
import java.time.Instant;
@@ -27,4 +28,7 @@ <REQUEST, RESPONSE> Context startAndEnd(
2728

2829
<REQUEST, RESPONSE> Context suppressSpan(
2930
Instrumenter<REQUEST, RESPONSE> instrumenter, Context parentContext, REQUEST request);
31+
32+
<REQUEST, RESPONSE> Context suppressSpan(
33+
Instrumenter<REQUEST, RESPONSE> instrumenter, Context parentContext, SpanKind spanKind);
3034
}

instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/internal/InstrumenterUtil.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package io.opentelemetry.instrumentation.api.internal;
77

88
import com.google.errorprone.annotations.CanIgnoreReturnValue;
9+
import io.opentelemetry.api.trace.SpanKind;
910
import io.opentelemetry.context.Context;
1011
import io.opentelemetry.context.propagation.TextMapGetter;
1112
import io.opentelemetry.context.propagation.TextMapSetter;
@@ -53,6 +54,11 @@ public static <REQUEST, RESPONSE> Context suppressSpan(
5354
return instrumenterAccess.suppressSpan(instrumenter, parentContext, request);
5455
}
5556

57+
public static <REQUEST, RESPONSE> Context suppressSpan(
58+
Instrumenter<REQUEST, RESPONSE> instrumenter, Context parentContext, SpanKind spanKind) {
59+
return instrumenterAccess.suppressSpan(instrumenter, parentContext, spanKind);
60+
}
61+
5662
public static <REQUEST, RESPONSE> Instrumenter<REQUEST, RESPONSE> buildUpstreamInstrumenter(
5763
InstrumenterBuilder<REQUEST, RESPONSE> builder,
5864
TextMapGetter<REQUEST> getter,

instrumentation/spring/spring-jms/spring-jms-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v2_0/JmsDestinationAccessorInstrumentation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import static net.bytebuddy.matcher.ElementMatchers.named;
1111
import static net.bytebuddy.matcher.ElementMatchers.returns;
1212

13+
import io.opentelemetry.api.trace.SpanKind;
1314
import io.opentelemetry.context.Context;
1415
import io.opentelemetry.context.Scope;
1516
import io.opentelemetry.instrumentation.api.internal.InstrumenterUtil;
@@ -44,10 +45,9 @@ public static Scope onEnter() {
4445
return null;
4546
}
4647
// suppress receive span creation in jms instrumentation
47-
@SuppressWarnings("NullAway") // request is ignored in SpanKindExtractor.alwaysConsumer()
4848
Context context =
4949
InstrumenterUtil.suppressSpan(
50-
receiveInstrumenter(), Java8BytecodeBridge.currentContext(), null);
50+
receiveInstrumenter(), Java8BytecodeBridge.currentContext(), SpanKind.CONSUMER);
5151
return context.makeCurrent();
5252
}
5353

instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/JmsDestinationAccessorInstrumentation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import static net.bytebuddy.matcher.ElementMatchers.named;
1111
import static net.bytebuddy.matcher.ElementMatchers.returns;
1212

13+
import io.opentelemetry.api.trace.SpanKind;
1314
import io.opentelemetry.context.Context;
1415
import io.opentelemetry.context.Scope;
1516
import io.opentelemetry.instrumentation.api.internal.InstrumenterUtil;
@@ -44,10 +45,9 @@ public static Scope onEnter() {
4445
return null;
4546
}
4647
// suppress receive span creation in jms instrumentation
47-
@SuppressWarnings("NullAway") // request is ignored in SpanKindExtractor.alwaysConsumer()
4848
Context context =
4949
InstrumenterUtil.suppressSpan(
50-
receiveInstrumenter(), Java8BytecodeBridge.currentContext(), null);
50+
receiveInstrumenter(), Java8BytecodeBridge.currentContext(), SpanKind.CONSUMER);
5151
return context.makeCurrent();
5252
}
5353

0 commit comments

Comments
 (0)