Skip to content

Commit 17b3fdb

Browse files
author
Mateusz Rzeszutek
authored
Make preparations for Spring Web & WebMVC 6 instrumentations (#7343)
Just moving things around, extracting parent dir for `spring-web` and `spring-webmvc`
1 parent d0158c4 commit 17b3fdb

File tree

63 files changed

+43
-41
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+43
-41
lines changed

docs/supported-libraries.md

+2-2

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ dependencies {
2929
testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent"))
3030
testInstrumentation(project(":instrumentation:servlet:servlet-javax-common:javaagent"))
3131
testInstrumentation(project(":instrumentation:tomcat:tomcat-7.0:javaagent"))
32-
testInstrumentation(project(":instrumentation:spring:spring-webmvc-3.1:javaagent"))
32+
testInstrumentation(project(":instrumentation:spring:spring-webmvc:spring-webmvc-3.1:javaagent"))
3333

3434
testLibrary("org.springframework.boot:spring-boot-autoconfigure:$springBootVersion")
3535
testLibrary("org.springframework.boot:spring-boot-starter-tomcat:$springBootVersion")

instrumentation/spring/spring-boot-autoconfigure/README.md

+9-9

instrumentation/spring/spring-boot-autoconfigure/build.gradle.kts

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ dependencies {
1717
implementation(project(":instrumentation-annotations-support"))
1818
implementation(project(":instrumentation:kafka:kafka-clients:kafka-clients-2.6:library"))
1919
implementation(project(":instrumentation:spring:spring-kafka-2.7:library"))
20-
implementation(project(":instrumentation:spring:spring-web-3.1:library"))
21-
implementation(project(":instrumentation:spring:spring-webmvc-5.3:library"))
20+
implementation(project(":instrumentation:spring:spring-web:spring-web-3.1:library"))
21+
implementation(project(":instrumentation:spring:spring-webmvc:spring-webmvc-5.3:library"))
2222
implementation(project(":instrumentation:spring:spring-webflux-5.0:library"))
2323
implementation(project(":instrumentation:micrometer:micrometer-1.5:library"))
2424

instrumentation/spring/spring-web-3.1/javaagent/build.gradle.kts instrumentation/spring/spring-web/spring-web-3.1/javaagent/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ muzzle {
66
pass {
77
group.set("org.springframework")
88
module.set("spring-web")
9-
versions.set("[3.1.0.RELEASE,)")
9+
versions.set("[3.1.0.RELEASE,6)")
1010
// these versions depend on javax.faces:jsf-api:1.1 which was released as pom only
1111
skip("1.2.1", "1.2.2", "1.2.3", "1.2.4")
1212
assertInverse.set(true)
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.springweb;
6+
package io.opentelemetry.javaagent.instrumentation.springweb.v3_1;
77

88
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
99
import static java.util.Collections.singletonList;
10+
import static net.bytebuddy.matcher.ElementMatchers.not;
1011

1112
import com.google.auto.service.AutoService;
1213
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
@@ -23,7 +24,9 @@ public SpringWebInstrumentationModule() {
2324
@Override
2425
public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
2526
// class added in 3.1
26-
return hasClassesNamed("org.springframework.web.method.HandlerMethod");
27+
return hasClassesNamed("org.springframework.web.method.HandlerMethod")
28+
// class added in 6.0
29+
.and(not(hasClassesNamed("org.springframework.web.ErrorResponse")));
2730
}
2831

2932
@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.springweb;
6+
package io.opentelemetry.javaagent.instrumentation.springweb.v3_1;
77

88
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.extendsClass;
99
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;

instrumentation/spring/spring-webmvc-3.1/javaagent/build.gradle.kts instrumentation/spring/spring-webmvc/spring-webmvc-3.1/javaagent/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ dependencies {
2929
testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent"))
3030
testInstrumentation(project(":instrumentation:servlet:servlet-javax-common:javaagent"))
3131
testInstrumentation(project(":instrumentation:tomcat:tomcat-7.0:javaagent"))
32-
testInstrumentation(project(":instrumentation:spring:spring-web-3.1:javaagent"))
32+
testInstrumentation(project(":instrumentation:spring:spring-web:spring-web-3.1:javaagent"))
3333

3434
testImplementation("javax.validation:validation-api:1.1.0.Final")
3535
testImplementation("org.hibernate:hibernate-validator:5.4.2.Final")
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.springwebmvc;
6+
package io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1;
77

88
import static io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge.currentContext;
9-
import static io.opentelemetry.javaagent.instrumentation.springwebmvc.SpringWebMvcSingletons.modelAndViewInstrumenter;
9+
import static io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1.SpringWebMvcSingletons.modelAndViewInstrumenter;
1010
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
1111
import static net.bytebuddy.matcher.ElementMatchers.isProtected;
1212
import static net.bytebuddy.matcher.ElementMatchers.named;
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.springwebmvc;
6+
package io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1;
77

88
import static io.opentelemetry.instrumentation.api.instrumenter.http.HttpRouteSource.CONTROLLER;
99
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
1010
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
11-
import static io.opentelemetry.javaagent.instrumentation.springwebmvc.IsGrailsHandler.isGrailsHandler;
12-
import static io.opentelemetry.javaagent.instrumentation.springwebmvc.SpringWebMvcSingletons.handlerInstrumenter;
11+
import static io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1.SpringWebMvcSingletons.handlerInstrumenter;
1312
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
1413
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
1514
import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith;
@@ -61,7 +60,7 @@ public static void nameResourceAndStartSpan(
6160
@Advice.Local("otelContext") Context context,
6261
@Advice.Local("otelScope") Scope scope) {
6362
// TODO (trask) should there be a way to customize Instrumenter.shouldStart()?
64-
if (isGrailsHandler(handler)) {
63+
if (IsGrailsHandler.isGrailsHandler(handler)) {
6564
// skip creating handler span for grails, grails instrumentation will take care of it
6665
return;
6766
}
+1-1
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.springwebmvc;
6+
package io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1;
77

88
import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor;
99
import io.opentelemetry.instrumentation.api.instrumenter.util.SpanNames;

instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/IsGrailsHandler.java instrumentation/spring/spring-webmvc/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webmvc/v3_1/IsGrailsHandler.java

+1-1
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.springwebmvc;
6+
package io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1;
77

88
public final class IsGrailsHandler {
99

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.springwebmvc;
6+
package io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1;
77

88
import io.opentelemetry.api.common.AttributesBuilder;
99
import io.opentelemetry.context.Context;
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.springwebmvc;
6+
package io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1;
77

88
import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor;
99
import org.springframework.web.servlet.ModelAndView;
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.springwebmvc;
6+
package io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1;
77

88
import static java.util.Arrays.asList;
99

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.springwebmvc;
6+
package io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1;
77

88
import io.opentelemetry.instrumentation.api.instrumenter.http.HttpRouteGetter;
99
import io.opentelemetry.javaagent.bootstrap.servlet.ServletContextPath;
+1-1
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.springwebmvc;
6+
package io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1;
77

88
import io.opentelemetry.api.GlobalOpenTelemetry;
99
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;

instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/org/springframework/web/servlet/OpenTelemetryHandlerMappingFilter.java instrumentation/spring/spring-webmvc/spring-webmvc-3.1/javaagent/src/main/java/org/springframework/web/servlet/OpenTelemetryHandlerMappingFilter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import io.opentelemetry.context.Context;
1111
import io.opentelemetry.instrumentation.api.instrumenter.http.HttpRouteGetter;
1212
import io.opentelemetry.instrumentation.api.instrumenter.http.HttpRouteHolder;
13-
import io.opentelemetry.javaagent.instrumentation.springwebmvc.SpringWebMvcServerSpanNaming;
13+
import io.opentelemetry.javaagent.instrumentation.spring.webmvc.v3_1.SpringWebMvcServerSpanNaming;
1414
import java.io.IOException;
1515
import java.lang.invoke.MethodHandle;
1616
import java.lang.invoke.MethodHandles;

instrumentation/spring/spring-webmvc-3.1/wildfly-testing/build.gradle.kts instrumentation/spring/spring-webmvc/spring-webmvc-3.1/wildfly-testing/build.gradle.kts

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ dependencies {
2121
testRuntimeOnly("org.wildfly.arquillian:wildfly-arquillian-container-embedded:2.2.0.Final")
2222

2323
testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent"))
24-
testInstrumentation(project(":instrumentation:spring:spring-webmvc-3.1:javaagent"))
25-
testInstrumentation(project(":instrumentation:spring:spring-web-3.1:javaagent"))
24+
testInstrumentation(project(":instrumentation:spring:spring-webmvc:spring-webmvc-3.1:javaagent"))
25+
testInstrumentation(project(":instrumentation:spring:spring-web:spring-web-3.1:javaagent"))
2626

2727
// wildfly version used to run tests
2828
testServer("org.wildfly:wildfly-dist:18.0.0.Final@zip")

0 commit comments

Comments
 (0)