Skip to content

Commit aa819b0

Browse files
committed
address review comments
1 parent e7d0f11 commit aa819b0

File tree

9 files changed

+58
-75
lines changed

9 files changed

+58
-75
lines changed

instrumentation/jms/jms-1.1/javaagent/build.gradle.kts

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ muzzle {
2222
}
2323

2424
dependencies {
25-
bootstrap(project(":instrumentation:jms:jms-common:bootstrap"))
2625
implementation(project(":instrumentation:jms:jms-common:javaagent"))
2726

2827
compileOnly("javax.jms:jms-api:1.1-rev-1")

instrumentation/jms/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/JmsMessageConsumerInstrumentation.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77

88
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
99
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
10-
import static io.opentelemetry.javaagent.instrumentation.jms.v1_1.JmsSingletons.createReceiveSpan;
10+
import static io.opentelemetry.javaagent.instrumentation.jms.JmsReceiveSpanUtil.createReceiveSpan;
11+
import static io.opentelemetry.javaagent.instrumentation.jms.v1_1.JmsSingletons.consumerReceiveInstrumenter;
1112
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
1213
import static net.bytebuddy.matcher.ElementMatchers.named;
1314
import static net.bytebuddy.matcher.ElementMatchers.returns;
@@ -74,7 +75,7 @@ public static void stopSpan(
7475
MessageWithDestination request =
7576
MessageWithDestination.create(JavaxMessageAdapter.create(message), null);
7677

77-
createReceiveSpan(request, timer, throwable);
78+
createReceiveSpan(consumerReceiveInstrumenter(), request, timer, throwable);
7879
}
7980
}
8081
}

instrumentation/jms/jms-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/JmsSingletons.java

-34
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,9 @@
66
package io.opentelemetry.javaagent.instrumentation.jms.v1_1;
77

88
import io.opentelemetry.api.GlobalOpenTelemetry;
9-
import io.opentelemetry.context.Context;
10-
import io.opentelemetry.context.propagation.ContextPropagators;
119
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
12-
import io.opentelemetry.instrumentation.api.internal.InstrumenterUtil;
13-
import io.opentelemetry.instrumentation.api.internal.Timer;
1410
import io.opentelemetry.javaagent.bootstrap.internal.ExperimentalConfig;
15-
import io.opentelemetry.javaagent.bootstrap.jms.JmsReceiveContextHolder;
1611
import io.opentelemetry.javaagent.instrumentation.jms.JmsInstrumenterFactory;
17-
import io.opentelemetry.javaagent.instrumentation.jms.MessagePropertyGetter;
1812
import io.opentelemetry.javaagent.instrumentation.jms.MessageWithDestination;
1913

2014
public final class JmsSingletons {
@@ -48,33 +42,5 @@ public static Instrumenter<MessageWithDestination, Void> consumerProcessInstrume
4842
return CONSUMER_PROCESS_INSTRUMENTER;
4943
}
5044

51-
public static void createReceiveSpan(
52-
MessageWithDestination request, Timer timer, Throwable throwable) {
53-
ContextPropagators propagators = GlobalOpenTelemetry.getPropagators();
54-
boolean receiveInstrumentationEnabled =
55-
ExperimentalConfig.get().messagingReceiveInstrumentationEnabled();
56-
Context parentContext = Context.current();
57-
// if receive instrumentation is not enabled we'll use the producer as parent
58-
if (!receiveInstrumentationEnabled) {
59-
parentContext =
60-
propagators
61-
.getTextMapPropagator()
62-
.extract(parentContext, request, MessagePropertyGetter.INSTANCE);
63-
}
64-
65-
if (consumerReceiveInstrumenter().shouldStart(parentContext, request)) {
66-
Context receiveContext =
67-
InstrumenterUtil.startAndEnd(
68-
consumerReceiveInstrumenter(),
69-
parentContext,
70-
request,
71-
null,
72-
throwable,
73-
timer.startTime(),
74-
timer.now());
75-
JmsReceiveContextHolder.set(receiveContext);
76-
}
77-
}
78-
7945
private JmsSingletons() {}
8046
}

instrumentation/jms/jms-3.0/javaagent/build.gradle.kts

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ muzzle {
2222
}
2323

2424
dependencies {
25-
bootstrap(project(":instrumentation:jms:jms-common:bootstrap"))
2625
implementation(project(":instrumentation:jms:jms-common:javaagent"))
2726

2827
library("jakarta.jms:jakarta.jms-api:3.0.0")

instrumentation/jms/jms-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/JmsMessageConsumerInstrumentation.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77

88
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
99
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
10-
import static io.opentelemetry.javaagent.instrumentation.jms.v3_0.JmsSingletons.createReceiveSpan;
10+
import static io.opentelemetry.javaagent.instrumentation.jms.JmsReceiveSpanUtil.createReceiveSpan;
11+
import static io.opentelemetry.javaagent.instrumentation.jms.v3_0.JmsSingletons.consumerReceiveInstrumenter;
1112
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
1213
import static net.bytebuddy.matcher.ElementMatchers.named;
1314
import static net.bytebuddy.matcher.ElementMatchers.returns;
@@ -74,7 +75,7 @@ public static void stopSpan(
7475
MessageWithDestination request =
7576
MessageWithDestination.create(JakartaMessageAdapter.create(message), null);
7677

77-
createReceiveSpan(request, timer, throwable);
78+
createReceiveSpan(consumerReceiveInstrumenter(), request, timer, throwable);
7879
}
7980
}
8081
}

instrumentation/jms/jms-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/JmsSingletons.java

-34
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,9 @@
66
package io.opentelemetry.javaagent.instrumentation.jms.v3_0;
77

88
import io.opentelemetry.api.GlobalOpenTelemetry;
9-
import io.opentelemetry.context.Context;
10-
import io.opentelemetry.context.propagation.ContextPropagators;
119
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
12-
import io.opentelemetry.instrumentation.api.internal.InstrumenterUtil;
13-
import io.opentelemetry.instrumentation.api.internal.Timer;
1410
import io.opentelemetry.javaagent.bootstrap.internal.ExperimentalConfig;
15-
import io.opentelemetry.javaagent.bootstrap.jms.JmsReceiveContextHolder;
1611
import io.opentelemetry.javaagent.instrumentation.jms.JmsInstrumenterFactory;
17-
import io.opentelemetry.javaagent.instrumentation.jms.MessagePropertyGetter;
1812
import io.opentelemetry.javaagent.instrumentation.jms.MessageWithDestination;
1913

2014
public final class JmsSingletons {
@@ -48,33 +42,5 @@ public static Instrumenter<MessageWithDestination, Void> consumerProcessInstrume
4842
return CONSUMER_PROCESS_INSTRUMENTER;
4943
}
5044

51-
public static void createReceiveSpan(
52-
MessageWithDestination request, Timer timer, Throwable throwable) {
53-
ContextPropagators propagators = GlobalOpenTelemetry.getPropagators();
54-
boolean receiveInstrumentationEnabled =
55-
ExperimentalConfig.get().messagingReceiveInstrumentationEnabled();
56-
Context parentContext = Context.current();
57-
// if receive instrumentation is not enabled we'll use the producer as parent
58-
if (!receiveInstrumentationEnabled) {
59-
parentContext =
60-
propagators
61-
.getTextMapPropagator()
62-
.extract(parentContext, request, MessagePropertyGetter.INSTANCE);
63-
}
64-
65-
if (consumerReceiveInstrumenter().shouldStart(parentContext, request)) {
66-
Context receiveContext =
67-
InstrumenterUtil.startAndEnd(
68-
consumerReceiveInstrumenter(),
69-
parentContext,
70-
request,
71-
null,
72-
throwable,
73-
timer.startTime(),
74-
timer.now());
75-
JmsReceiveContextHolder.set(receiveContext);
76-
}
77-
}
78-
7945
private JmsSingletons() {}
8046
}

instrumentation/jms/jms-common/javaagent/build.gradle.kts

+2
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@ plugins {
55
dependencies {
66
compileOnly("com.google.auto.value:auto-value-annotations")
77
annotationProcessor("com.google.auto.value:auto-value")
8+
9+
bootstrap(project(":instrumentation:jms:jms-common:bootstrap"))
810
}

instrumentation/jms/jms-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsInstrumenterFactory.java

-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ public Instrumenter<MessageWithDestination, Void> createConsumerReceiveInstrumen
6060
JmsMessageAttributesGetter getter = JmsMessageAttributesGetter.INSTANCE;
6161
MessageOperation operation = MessageOperation.RECEIVE;
6262

63-
// MessageConsumer does not do context propagation
6463
InstrumenterBuilder<MessageWithDestination, Void> builder =
6564
Instrumenter.<MessageWithDestination, Void>builder(
6665
openTelemetry,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.jms;
7+
8+
import io.opentelemetry.api.GlobalOpenTelemetry;
9+
import io.opentelemetry.context.Context;
10+
import io.opentelemetry.context.propagation.ContextPropagators;
11+
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
12+
import io.opentelemetry.instrumentation.api.internal.InstrumenterUtil;
13+
import io.opentelemetry.instrumentation.api.internal.Timer;
14+
import io.opentelemetry.javaagent.bootstrap.internal.ExperimentalConfig;
15+
16+
public final class JmsReceiveSpanUtil {
17+
private static final ContextPropagators propagators = GlobalOpenTelemetry.getPropagators();
18+
private static final boolean receiveInstrumentationEnabled =
19+
ExperimentalConfig.get().messagingReceiveInstrumentationEnabled();
20+
21+
public static void createReceiveSpan(
22+
Instrumenter<MessageWithDestination, Void> receiveInstrumenter,
23+
MessageWithDestination request,
24+
Timer timer,
25+
Throwable throwable) {
26+
Context parentContext = Context.current();
27+
// if receive instrumentation is not enabled we'll use the producer as parent
28+
if (!receiveInstrumentationEnabled) {
29+
parentContext =
30+
propagators
31+
.getTextMapPropagator()
32+
.extract(parentContext, request, MessagePropertyGetter.INSTANCE);
33+
}
34+
35+
if (receiveInstrumenter.shouldStart(parentContext, request)) {
36+
Context receiveContext =
37+
InstrumenterUtil.startAndEnd(
38+
receiveInstrumenter,
39+
parentContext,
40+
request,
41+
null,
42+
throwable,
43+
timer.startTime(),
44+
timer.now());
45+
JmsReceiveContextHolder.set(receiveContext);
46+
}
47+
}
48+
49+
private JmsReceiveSpanUtil() {}
50+
}

0 commit comments

Comments
 (0)