Skip to content

Commit 8d96e75

Browse files
committed
address review comments
1 parent 8b73c72 commit 8d96e75

File tree

12 files changed

+35
-25
lines changed

12 files changed

+35
-25
lines changed

docs/supported-libraries.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ These are the supported libraries and frameworks:
138138
| [Spring Integration](https://spring.io/projects/spring-integration) | 4.1+ (not including 6.0+ yet) | [opentelemetry-spring-integration-4.1](../instrumentation/spring/spring-integration-4.1/library) | [Messaging Spans] |
139139
| [Spring JMS](https://docs.spring.io/spring-framework/docs/current/reference/html/integration.html#jms) | 2.0+ | N/A | [Messaging Spans] |
140140
| [Spring Kafka](https://spring.io/projects/spring-kafka) | 2.7+ | [opentelemetry-spring-kafka-2.7](../instrumentation/spring/spring-kafka-2.7/library) | [Messaging Spans] |
141-
| [Spring Pulsar](https://spring.io/projects/spring-pulsar) | 1.2+ | | [Messaging Spans] |
141+
| [Spring Pulsar](https://spring.io/projects/spring-pulsar) | 1.0+ | | [Messaging Spans] |
142142
| [Spring RabbitMQ](https://spring.io/projects/spring-amqp) | 1.0+ | N/A | [Messaging Spans] |
143143
| [Spring RestTemplate](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/client/package-summary.html) | 3.1+ | [opentelemetry-spring-web-3.1](../instrumentation/spring/spring-web/spring-web-3.1/library) | [HTTP Client Spans], [HTTP Client Metrics] |
144144
| [Spring RMI](https://docs.spring.io/spring-framework/docs/4.0.x/javadoc-api/org/springframework/remoting/rmi/package-summary.html) | 4.0+ | N/A | [RPC Client Spans], [RPC Server Spans] |

instrumentation/spring/spring-pulsar-1.2/javaagent/build.gradle.kts instrumentation/spring/spring-pulsar-1.0/javaagent/build.gradle.kts

+7-6
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,20 @@ muzzle {
66
pass {
77
group.set("org.springframework.pulsar")
88
module.set("spring-pulsar")
9-
versions.set("[1.2.0,)")
9+
versions.set("[1.0.0,)")
10+
assertInverse.set(true)
11+
excludeInstrumentationName("pulsar-2.8")
1012
}
1113
}
1214

1315
dependencies {
14-
library("org.springframework.pulsar:spring-pulsar:1.2.0")
16+
library("org.springframework.pulsar:spring-pulsar:1.0.0")
1517
implementation(project(":instrumentation:pulsar:pulsar-2.8:javaagent"))
1618

1719
testInstrumentation(project(":instrumentation:pulsar:pulsar-2.8:javaagent"))
1820

19-
testImplementation(project(":instrumentation:spring:spring-pulsar-1.2:testing"))
21+
testImplementation(project(":instrumentation:spring:spring-pulsar-1.0:testing"))
2022

21-
testLibrary("org.springframework.pulsar:spring-pulsar:1.2.0")
2223
testLibrary("org.springframework.boot:spring-boot-starter-test:3.2.4")
2324
testLibrary("org.springframework.boot:spring-boot-starter:3.2.4")
2425
}
@@ -29,14 +30,14 @@ testing {
2930
suites {
3031
val testReceiveSpansDisabled by registering(JvmTestSuite::class) {
3132
dependencies {
32-
implementation(project(":instrumentation:spring:spring-pulsar-1.2:testing"))
33+
implementation(project(":instrumentation:spring:spring-pulsar-1.0:testing"))
3334

3435
if (latestDepTest) {
3536
implementation("org.springframework.pulsar:spring-pulsar:latest.release")
3637
implementation("org.springframework.boot:spring-boot-starter-test:latest.release")
3738
implementation("org.springframework.boot:spring-boot-starter:latest.release")
3839
} else {
39-
implementation("org.springframework.pulsar:spring-pulsar:1.2.0")
40+
implementation("org.springframework.pulsar:spring-pulsar:1.0.0")
4041
implementation("org.springframework.boot:spring-boot-starter-test:3.2.4")
4142
implementation("org.springframework.boot:spring-boot-starter:3.2.4")
4243
}
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_0;
77

8-
import static io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2.SpringPulsarSingletons.instrumenter;
8+
import static io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_0.SpringPulsarSingletons.instrumenter;
99
import static net.bytebuddy.matcher.ElementMatchers.named;
1010
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
1111
import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
@@ -31,7 +31,7 @@ public ElementMatcher<TypeDescription> typeMatcher() {
3131
public void transform(TypeTransformer transformer) {
3232
transformer.applyAdviceToMethod(
3333
named("dispatchMessageToListener")
34-
.and(takesArguments(3))
34+
.and(takesArguments(3).or(takesArguments(2)))
3535
.and(takesArgument(0, named("org.apache.pulsar.client.api.Message"))),
3636
getClass().getName() + "$DispatchMessageToListenerAdvice");
3737
}
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_0;
77

88
import io.opentelemetry.context.propagation.TextMapGetter;
99
import javax.annotation.Nullable;
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,28 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_0;
77

8+
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
89
import static java.util.Collections.singletonList;
910

1011
import com.google.auto.service.AutoService;
1112
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1213
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1314
import java.util.List;
15+
import net.bytebuddy.matcher.ElementMatcher;
1416

1517
@AutoService(InstrumentationModule.class)
1618
public class SpringPulsarInstrumentationModule extends InstrumentationModule {
1719
public SpringPulsarInstrumentationModule() {
18-
super("spring-pulsar", "spring-pulsar-1.2");
20+
super("spring-pulsar", "spring-pulsar-1.0");
21+
}
22+
23+
@Override
24+
public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
25+
// added in 1.0.0
26+
return hasClassesNamed(
27+
"org.springframework.pulsar.annotation.PulsarListenerConsumerBuilderCustomizer");
1928
}
2029

2130
@Override
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_0;
77

88
import static java.util.Collections.emptyList;
99
import static java.util.Collections.singletonList;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_0;
77

88
import io.opentelemetry.api.GlobalOpenTelemetry;
99
import io.opentelemetry.api.OpenTelemetry;
@@ -18,7 +18,7 @@
1818
import org.apache.pulsar.client.api.Message;
1919

2020
public final class SpringPulsarSingletons {
21-
private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-pulsar-1.2";
21+
private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-pulsar-1.0";
2222
private static final Instrumenter<Message<?>, Void> INSTRUMENTER;
2323

2424
static {
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_0;
77

88
import static io.opentelemetry.api.trace.SpanKind.CONSUMER;
99
import static io.opentelemetry.api.trace.SpanKind.PRODUCER;

instrumentation/spring/spring-pulsar-1.2/testing/build.gradle.kts instrumentation/spring/spring-pulsar-1.0/testing/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ dependencies {
66
implementation(project(":testing-common"))
77
implementation("org.testcontainers:pulsar")
88

9-
compileOnly("org.springframework.pulsar:spring-pulsar:1.2.0")
9+
compileOnly("org.springframework.pulsar:spring-pulsar:1.0.0")
1010
compileOnly("org.springframework.boot:spring-boot-starter-test:3.2.4")
1111
compileOnly("org.springframework.boot:spring-boot-starter:3.2.4")
1212
}
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@
1515
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID;
1616
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION;
1717
import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_SYSTEM;
18+
import static java.util.Arrays.asList;
1819

1920
import io.opentelemetry.api.common.AttributeKey;
2021
import io.opentelemetry.instrumentation.testing.GlobalTraceUtil;
2122
import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension;
2223
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
2324
import io.opentelemetry.sdk.testing.assertj.AttributeAssertion;
2425
import java.time.Duration;
25-
import java.util.Arrays;
2626
import java.util.HashMap;
2727
import java.util.List;
2828
import java.util.Map;
@@ -87,7 +87,7 @@ static void setUp() throws PulsarClientException {
8787
}
8888

8989
@Test
90-
void testSpringPulsar() throws InterruptedException {
90+
void testSpringPulsar() throws PulsarClientException, InterruptedException {
9191
testing.runWithSpan(
9292
"parent",
9393
() -> {
@@ -113,7 +113,7 @@ static void teardown() {
113113
AttributeKey.stringKey("messaging.pulsar.message.type");
114114

115115
protected List<AttributeAssertion> publishAttributes() {
116-
return Arrays.asList(
116+
return asList(
117117
equalTo(MESSAGING_SYSTEM, "pulsar"),
118118
equalTo(MESSAGING_OPERATION, "publish"),
119119
equalTo(MESSAGING_DESTINATION_NAME, OTEL_TOPIC),
@@ -125,7 +125,7 @@ protected List<AttributeAssertion> publishAttributes() {
125125
}
126126

127127
protected List<AttributeAssertion> processAttributes() {
128-
return Arrays.asList(
128+
return asList(
129129
equalTo(MESSAGING_SYSTEM, "pulsar"),
130130
equalTo(MESSAGING_OPERATION, "process"),
131131
satisfies(MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative),
@@ -134,7 +134,7 @@ protected List<AttributeAssertion> processAttributes() {
134134
}
135135

136136
protected List<AttributeAssertion> receiveAttributes() {
137-
return Arrays.asList(
137+
return asList(
138138
equalTo(MESSAGING_SYSTEM, "pulsar"),
139139
equalTo(MESSAGING_OPERATION, "receive"),
140140
equalTo(MESSAGING_DESTINATION_NAME, OTEL_TOPIC),

settings.gradle.kts

+2-2
Original file line numberDiff line numberDiff line change
@@ -552,8 +552,8 @@ include(":instrumentation:spring:spring-jms:spring-jms-6.0:javaagent")
552552
include(":instrumentation:spring:spring-kafka-2.7:javaagent")
553553
include(":instrumentation:spring:spring-kafka-2.7:library")
554554
include(":instrumentation:spring:spring-kafka-2.7:testing")
555-
include(":instrumentation:spring:spring-pulsar-1.2:javaagent")
556-
include(":instrumentation:spring:spring-pulsar-1.2:testing")
555+
include(":instrumentation:spring:spring-pulsar-1.0:javaagent")
556+
include(":instrumentation:spring:spring-pulsar-1.0:testing")
557557
include(":instrumentation:spring:spring-rabbit-1.0:javaagent")
558558
include(":instrumentation:spring:spring-rmi-4.0:javaagent")
559559
include(":instrumentation:spring:spring-scheduling-3.1:bootstrap")

0 commit comments

Comments
 (0)