Skip to content

Commit bd36567

Browse files
Fix issues in round1
1 parent d6a8100 commit bd36567

File tree

13 files changed

+221
-108
lines changed

13 files changed

+221
-108
lines changed

.fossa.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -894,7 +894,7 @@ targets:
894894
target: ':instrumentation:spring:spring-kafka-2.7:library'
895895
- type: gradle
896896
path: ./
897-
target: ':instrumentation:spring:spring-pulsar-1.0:javaagent'
897+
target: ':instrumentation:spring:spring-pulsar-1.2:javaagent'
898898
- type: gradle
899899
path: ./
900900
target: ':instrumentation:spring:spring-rabbit-1.0:javaagent'

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

-31
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
plugins {
2+
id("otel.javaagent-instrumentation")
3+
}
4+
5+
muzzle {
6+
pass {
7+
group.set("org.springframework.pulsar")
8+
module.set("spring-pulsar")
9+
versions.set("[1.2.0,]")
10+
}
11+
}
12+
13+
dependencies {
14+
library("org.springframework.pulsar:spring-pulsar:1.2.0")
15+
16+
testInstrumentation(project(":instrumentation:pulsar:pulsar-2.8:javaagent"))
17+
testImplementation(project(":instrumentation:spring:spring-pulsar-1.2:testing"))
18+
testLibrary("org.springframework.pulsar:spring-pulsar:1.2.0")
19+
20+
testLibrary("org.springframework.boot:spring-boot-starter-test:3.2.4")
21+
testLibrary("org.springframework.boot:spring-boot-starter:3.2.4")
22+
}
23+
24+
testing {
25+
suites {
26+
val testReceiveSpansDisabled by registering(JvmTestSuite::class) {
27+
dependencies {
28+
implementation(project(":instrumentation:spring:spring-pulsar-1.2:testing"))
29+
implementation("org.springframework.pulsar:spring-pulsar:1.2.0")
30+
implementation("org.springframework.boot:spring-boot-starter-test:3.2.4")
31+
implementation("org.springframework.boot:spring-boot-starter:3.2.4")
32+
}
33+
}
34+
}
35+
}
36+
37+
tasks {
38+
withType<Test>().configureEach {
39+
jvmArgs("-Dotel.instrumentation.pulsar.experimental-span-attributes=true")
40+
jvmArgs("-Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=true")
41+
usesService(gradle.sharedServices.registrations["testcontainersBuildService"].service)
42+
}
43+
44+
check {
45+
dependsOn(testing.suites)
46+
}
47+
}
48+
49+
// spring 6 requires java 17
50+
otelJava {
51+
minJavaVersionSupported.set(JavaVersion.VERSION_17)
52+
}
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_0;
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
77

8-
import static io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_0.SpringPulsarSingletons.instrumenter;
8+
import static io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2.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;
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_0;
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
77

88
import io.opentelemetry.context.propagation.TextMapGetter;
99
import javax.annotation.Nullable;
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_0;
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
77

88
import static java.util.Collections.singletonList;
99

@@ -15,7 +15,7 @@
1515
@AutoService(InstrumentationModule.class)
1616
public class SpringPulsarInstrumentationModule extends InstrumentationModule {
1717
public SpringPulsarInstrumentationModule() {
18-
super("spring-pulsar", "spring-pulsar-1.0");
18+
super("spring-pulsar", "spring-pulsar-1.2");
1919
}
2020

2121
@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_0;
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
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_0;
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
77

88
import io.opentelemetry.api.GlobalOpenTelemetry;
99
import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessageOperation;
@@ -14,7 +14,7 @@
1414
import org.apache.pulsar.client.api.Message;
1515

1616
public final class SpringPulsarSingletons {
17-
private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-pulsar-1.0";
17+
private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-pulsar-1.2";
1818
private static final Instrumenter<Message<?>, Void> INSTRUMENTER;
1919

2020
static {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
7+
8+
import static io.opentelemetry.api.trace.SpanKind.CONSUMER;
9+
import static io.opentelemetry.api.trace.SpanKind.INTERNAL;
10+
import static io.opentelemetry.api.trace.SpanKind.PRODUCER;
11+
import static io.opentelemetry.instrumentation.testing.util.TelemetryDataUtil.orderByRootSpanKind;
12+
13+
import io.opentelemetry.instrumentation.spring.pulsar.v1_0.AbstractSpringPulsarTest;
14+
15+
class SpringPulsarTest extends AbstractSpringPulsarTest {
16+
17+
@Override
18+
protected void assertSpringPulsar() {
19+
testing.waitAndAssertSortedTraces(
20+
orderByRootSpanKind(INTERNAL, CONSUMER),
21+
trace ->
22+
trace.hasSpansSatisfyingExactly(
23+
span -> span.hasName("parent").hasNoParent(),
24+
span ->
25+
span.hasName(OTEL_TOPIC + " publish")
26+
.hasKind(PRODUCER)
27+
.hasParent(trace.getSpan(0))
28+
.hasAttributesSatisfyingExactly(publishAttributes()),
29+
span ->
30+
span.hasName(String.format("%s process", OTEL_TOPIC))
31+
.hasKind(CONSUMER)
32+
.hasParent(trace.getSpan(1))
33+
.hasAttributesSatisfyingExactly(processAttributes()),
34+
span -> span.hasName("consumer").hasParent(trace.getSpan(2))),
35+
trace ->
36+
trace.hasSpansSatisfyingExactly(
37+
span ->
38+
span.hasName(String.format("%s receive", OTEL_TOPIC))
39+
.hasKind(CONSUMER)
40+
.hasNoParent()
41+
.hasAttributesSatisfyingExactly(receiveAttributes())));
42+
}
43+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.spring.pulsar.v1_2;
7+
8+
import static io.opentelemetry.api.trace.SpanKind.CONSUMER;
9+
import static io.opentelemetry.api.trace.SpanKind.PRODUCER;
10+
11+
import io.opentelemetry.instrumentation.spring.pulsar.v1_0.AbstractSpringPulsarTest;
12+
13+
class SpringPulsarSuppressReceiveSpansTest extends AbstractSpringPulsarTest {
14+
15+
@Override
16+
protected void assertSpringPulsar() {
17+
testing.waitAndAssertTraces(
18+
trace ->
19+
trace.hasSpansSatisfyingExactly(
20+
span -> span.hasName("parent").hasNoParent(),
21+
span ->
22+
span.hasName(OTEL_TOPIC + " publish")
23+
.hasKind(PRODUCER)
24+
.hasParent(trace.getSpan(0))
25+
.hasAttributesSatisfyingExactly(publishAttributes()),
26+
span ->
27+
span.hasName(String.format("%s process", OTEL_TOPIC))
28+
.hasKind(CONSUMER)
29+
.hasParent(trace.getSpan(1))
30+
.hasTotalRecordedLinks(0)
31+
.hasAttributesSatisfyingExactly(processAttributes()),
32+
span -> span.hasName("consumer").hasParent(trace.getSpan(2))),
33+
trace ->
34+
trace.hasSpansSatisfyingExactly(
35+
span -> span.hasName(String.format("%s receive", OTEL_TOPIC)).hasKind(CONSUMER)));
36+
}
37+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
plugins {
2+
id("otel.java-conventions")
3+
}
4+
5+
dependencies {
6+
implementation(project(":testing-common"))
7+
implementation("org.testcontainers:pulsar")
8+
9+
compileOnly("org.springframework.pulsar:spring-pulsar:1.2.0")
10+
compileOnly("org.springframework.boot:spring-boot-starter-test:3.2.4")
11+
compileOnly("org.springframework.boot:spring-boot-starter:3.2.4")
12+
}

0 commit comments

Comments
 (0)