From e48b219e68d3ff2b4fca2e1c90ff5fd1aa236083 Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Tue, 7 Dec 2021 10:20:33 +0100 Subject: [PATCH] Move `AppServerBridge` and `MappingResolver` to `servlet-common:bootstrap` (#4817) * Move AppServerBridge and MappingResolver to servlet-common:bootstrap * Introduce additional gradle configuration for bootstrap libs --- .../otel.javaagent-instrumentation.gradle.kts | 16 +++++++++++++++- .../jaxrs/jaxrs-1.0/javaagent/build.gradle.kts | 2 +- .../jaxrs-2.0-common/javaagent/build.gradle.kts | 2 +- .../jaxrs-2.0-cxf-3.2/javaagent/build.gradle.kts | 2 +- .../javaagent/build.gradle.kts | 2 +- .../javaagent/build.gradle.kts | 2 +- .../javaagent/build.gradle.kts | 2 +- .../jetty/jetty-11.0/javaagent/build.gradle.kts | 6 ++++-- .../jetty/v11_0/Jetty11Singletons.java | 2 +- .../jetty/jetty-8.0/javaagent/build.gradle.kts | 6 ++++-- .../jetty/v8_0/Jetty8Singletons.java | 2 +- .../javaagent/build.gradle.kts | 3 +-- .../javaagent/build.gradle.kts | 2 +- .../liberty/liberty/javaagent/build.gradle.kts | 2 ++ .../instrumentation/liberty/LibertyHelper.java | 2 +- .../liberty/LibertySingletons.java | 2 +- instrumentation/rmi/javaagent/build.gradle.kts | 2 +- .../servlet-2.2/javaagent/build.gradle.kts | 4 +++- .../servlet/v2_2/Servlet2Advice.java | 2 +- .../servlet-3.0/javaagent/build.gradle.kts | 4 +++- .../servlet/v3_0/Servlet3Advice.java | 4 ++-- .../servlet/v3_0/Servlet3FilterInitAdvice.java | 2 +- .../servlet/v3_0/Servlet3InitAdvice.java | 2 +- .../servlet/v3_0/Servlet3Singletons.java | 2 +- .../servlet-5.0/javaagent/build.gradle.kts | 1 + .../servlet/v5_0/Servlet5Singletons.java | 2 +- .../service/JakartaServletFilterInitAdvice.java | 2 +- .../v5_0/service/JakartaServletInitAdvice.java | 2 +- .../service/JakartaServletServiceAdvice.java | 4 ++-- .../servlet-common/bootstrap/build.gradle.kts | 3 +++ .../bootstrap}/servlet/AppServerBridge.java | 2 +- .../bootstrap}/servlet/MappingResolver.java | 2 +- .../servlet-common/javaagent/build.gradle.kts | 4 ++++ .../servlet/BaseServletHelper.java | 4 ++-- .../servlet/ServletInstrumenterBuilder.java | 2 +- .../servlet/ServletMappingResolverFactory.java | 2 +- .../servlet/ServletSpanNameExtractor.java | 2 +- .../servlet/ServletSpanNameProvider.java | 2 +- .../spring-kafka-2.7/javaagent/build.gradle.kts | 2 +- .../tomcat-10.0/javaagent/build.gradle.kts | 5 ++++- .../tomcat/tomcat-7.0/javaagent/build.gradle.kts | 5 ++++- .../tomcat-common/javaagent/build.gradle.kts | 1 + .../tomcat/common/TomcatHelper.java | 2 +- .../tomcat/common/TomcatInstrumenterFactory.java | 2 +- .../undertow-1.4/javaagent/build.gradle.kts | 3 ++- .../instrumentation/undertow/UndertowHelper.java | 2 +- .../undertow/UndertowSingletons.java | 2 +- settings.gradle.kts | 1 + 48 files changed, 88 insertions(+), 48 deletions(-) create mode 100644 instrumentation/servlet/servlet-common/bootstrap/build.gradle.kts rename {instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api => instrumentation/servlet/servlet-common/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap}/servlet/AppServerBridge.java (98%) rename {instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api => instrumentation/servlet/servlet-common/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap}/servlet/MappingResolver.java (98%) diff --git a/conventions/src/main/kotlin/otel.javaagent-instrumentation.gradle.kts b/conventions/src/main/kotlin/otel.javaagent-instrumentation.gradle.kts index c1317df8152c..a13b156f8a79 100644 --- a/conventions/src/main/kotlin/otel.javaagent-instrumentation.gradle.kts +++ b/conventions/src/main/kotlin/otel.javaagent-instrumentation.gradle.kts @@ -7,4 +7,18 @@ plugins { extra["mavenGroupId"] = "io.opentelemetry.javaagent.instrumentation" -base.archivesName.set(projectDir.parentFile.name) \ No newline at end of file +base.archivesName.set(projectDir.parentFile.name) + +configurations { + val bootstrap by creating { + isCanBeResolved = false + isCanBeConsumed = false + } + + named("compileOnly") { + extendsFrom(bootstrap) + } + named("muzzleBootstrap") { + extendsFrom(bootstrap) + } +} \ No newline at end of file diff --git a/instrumentation/jaxrs/jaxrs-1.0/javaagent/build.gradle.kts b/instrumentation/jaxrs/jaxrs-1.0/javaagent/build.gradle.kts index 3051b2a6f2be..76555bd9314d 100644 --- a/instrumentation/jaxrs/jaxrs-1.0/javaagent/build.gradle.kts +++ b/instrumentation/jaxrs/jaxrs-1.0/javaagent/build.gradle.kts @@ -16,7 +16,7 @@ muzzle { } dependencies { - compileOnly(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) + bootstrap(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) compileOnly("javax.ws.rs:jsr311-api:1.1.1") diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/build.gradle.kts b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/build.gradle.kts index 475237f64f51..ccd745025a09 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/build.gradle.kts +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/build.gradle.kts @@ -16,7 +16,7 @@ muzzle { } dependencies { - compileOnly(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) + bootstrap(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) compileOnly("javax.ws.rs:javax.ws.rs-api:2.0") diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/build.gradle.kts b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/build.gradle.kts index ed42a25d3c71..01c1fa17e9d7 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/build.gradle.kts +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/build.gradle.kts @@ -21,7 +21,7 @@ muzzle { } dependencies { - compileOnly(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) + bootstrap(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) compileOnly("javax.ws.rs:javax.ws.rs-api:2.0") compileOnly("javax.servlet:javax.servlet-api:3.1.0") diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/build.gradle.kts b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/build.gradle.kts index e90c0eb37ab7..00769a94ae0b 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/build.gradle.kts +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/build.gradle.kts @@ -20,7 +20,7 @@ muzzle { } dependencies { - compileOnly(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) + bootstrap(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) compileOnly("javax.ws.rs:javax.ws.rs-api:2.0") compileOnly("javax.servlet:javax.servlet-api:3.1.0") diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/build.gradle.kts b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/build.gradle.kts index f930812459c0..3089309830be 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/build.gradle.kts +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/build.gradle.kts @@ -23,7 +23,7 @@ muzzle { } dependencies { - compileOnly(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) + bootstrap(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) compileOnly("javax.ws.rs:javax.ws.rs-api:2.0") library("org.jboss.resteasy:resteasy-jaxrs:3.0.0.Final") diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-common/javaagent/build.gradle.kts b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-common/javaagent/build.gradle.kts index c60aae5bd30f..5eb215af0327 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-common/javaagent/build.gradle.kts +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-common/javaagent/build.gradle.kts @@ -3,7 +3,7 @@ plugins { } dependencies { - compileOnly(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) + bootstrap(project(":instrumentation:jaxrs:jaxrs-common:bootstrap")) compileOnly("javax.ws.rs:javax.ws.rs-api:2.0") compileOnly("org.jboss.resteasy:resteasy-jaxrs:3.1.0.Final") diff --git a/instrumentation/jetty/jetty-11.0/javaagent/build.gradle.kts b/instrumentation/jetty/jetty-11.0/javaagent/build.gradle.kts index 09931330f97d..2637b30c298d 100644 --- a/instrumentation/jetty/jetty-11.0/javaagent/build.gradle.kts +++ b/instrumentation/jetty/jetty-11.0/javaagent/build.gradle.kts @@ -11,9 +11,11 @@ muzzle { } dependencies { - library("org.eclipse.jetty:jetty-server:11.0.0") - implementation(project(":instrumentation:servlet:servlet-5.0:javaagent")) implementation(project(":instrumentation:jetty:jetty-common:javaagent")) + implementation(project(":instrumentation:servlet:servlet-5.0:javaagent")) + bootstrap(project(":instrumentation:servlet:servlet-common:bootstrap")) + + library("org.eclipse.jetty:jetty-server:11.0.0") testInstrumentation(project(":instrumentation:jetty:jetty-8.0:javaagent")) diff --git a/instrumentation/jetty/jetty-11.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v11_0/Jetty11Singletons.java b/instrumentation/jetty/jetty-11.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v11_0/Jetty11Singletons.java index 44ea727e2561..86c9c62ce948 100644 --- a/instrumentation/jetty/jetty-11.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v11_0/Jetty11Singletons.java +++ b/instrumentation/jetty/jetty-11.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v11_0/Jetty11Singletons.java @@ -8,8 +8,8 @@ import static io.opentelemetry.instrumentation.api.servlet.ServerSpanNaming.Source.CONTAINER; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; import io.opentelemetry.instrumentation.api.servlet.ServerSpanNaming; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; import io.opentelemetry.javaagent.instrumentation.jetty.common.JettyHelper; import io.opentelemetry.javaagent.instrumentation.servlet.ServletInstrumenterBuilder; import io.opentelemetry.javaagent.instrumentation.servlet.ServletRequestContext; diff --git a/instrumentation/jetty/jetty-8.0/javaagent/build.gradle.kts b/instrumentation/jetty/jetty-8.0/javaagent/build.gradle.kts index 27ea76b3aede..42545aee3e69 100644 --- a/instrumentation/jetty/jetty-8.0/javaagent/build.gradle.kts +++ b/instrumentation/jetty/jetty-8.0/javaagent/build.gradle.kts @@ -13,9 +13,11 @@ muzzle { } dependencies { - library("org.eclipse.jetty:jetty-server:8.0.0.v20110901") - implementation(project(":instrumentation:servlet:servlet-3.0:javaagent")) implementation(project(":instrumentation:jetty:jetty-common:javaagent")) + implementation(project(":instrumentation:servlet:servlet-3.0:javaagent")) + bootstrap(project(":instrumentation:servlet:servlet-common:bootstrap")) + + library("org.eclipse.jetty:jetty-server:8.0.0.v20110901") testInstrumentation(project(":instrumentation:servlet:servlet-javax-common:javaagent")) testInstrumentation(project(":instrumentation:jetty:jetty-11.0:javaagent")) diff --git a/instrumentation/jetty/jetty-8.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v8_0/Jetty8Singletons.java b/instrumentation/jetty/jetty-8.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v8_0/Jetty8Singletons.java index 881426b69993..d94c196c6def 100644 --- a/instrumentation/jetty/jetty-8.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v8_0/Jetty8Singletons.java +++ b/instrumentation/jetty/jetty-8.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v8_0/Jetty8Singletons.java @@ -8,8 +8,8 @@ import static io.opentelemetry.instrumentation.api.servlet.ServerSpanNaming.Source.CONTAINER; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; import io.opentelemetry.instrumentation.api.servlet.ServerSpanNaming; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; import io.opentelemetry.javaagent.instrumentation.jetty.common.JettyHelper; import io.opentelemetry.javaagent.instrumentation.servlet.ServletInstrumenterBuilder; import io.opentelemetry.javaagent.instrumentation.servlet.ServletRequestContext; diff --git a/instrumentation/kafka-clients/kafka-clients-0.11/javaagent/build.gradle.kts b/instrumentation/kafka-clients/kafka-clients-0.11/javaagent/build.gradle.kts index 9b17755f9d1b..2259997c0656 100644 --- a/instrumentation/kafka-clients/kafka-clients-0.11/javaagent/build.gradle.kts +++ b/instrumentation/kafka-clients/kafka-clients-0.11/javaagent/build.gradle.kts @@ -7,7 +7,6 @@ muzzle { group.set("org.apache.kafka") module.set("kafka-clients") versions.set("[0.11.0.0,)") - extraDependency(project(":instrumentation:kafka-clients:kafka-clients-0.11:bootstrap")) assertInverse.set(true) } } @@ -16,7 +15,7 @@ dependencies { compileOnly("com.google.auto.value:auto-value-annotations") annotationProcessor("com.google.auto.value:auto-value") - compileOnly(project(":instrumentation:kafka-clients:kafka-clients-0.11:bootstrap")) + bootstrap(project(":instrumentation:kafka-clients:kafka-clients-0.11:bootstrap")) implementation(project(":instrumentation:kafka-clients:kafka-clients-common:library")) library("org.apache.kafka:kafka-clients:0.11.0.0") diff --git a/instrumentation/kafka-streams-0.11/javaagent/build.gradle.kts b/instrumentation/kafka-streams-0.11/javaagent/build.gradle.kts index 3098e260d7e8..d633ee0a7637 100644 --- a/instrumentation/kafka-streams-0.11/javaagent/build.gradle.kts +++ b/instrumentation/kafka-streams-0.11/javaagent/build.gradle.kts @@ -12,7 +12,7 @@ muzzle { } dependencies { - compileOnly(project(":instrumentation:kafka-clients:kafka-clients-0.11:bootstrap")) + bootstrap(project(":instrumentation:kafka-clients:kafka-clients-0.11:bootstrap")) implementation(project(":instrumentation:kafka-clients:kafka-clients-common:library")) library("org.apache.kafka:kafka-streams:0.11.0.0") diff --git a/instrumentation/liberty/liberty/javaagent/build.gradle.kts b/instrumentation/liberty/liberty/javaagent/build.gradle.kts index 550ea131de6b..c76923840913 100644 --- a/instrumentation/liberty/liberty/javaagent/build.gradle.kts +++ b/instrumentation/liberty/liberty/javaagent/build.gradle.kts @@ -6,6 +6,8 @@ plugins { // liberty module has access to servlet api while liberty-dispatcher does not dependencies { + bootstrap(project(":instrumentation:servlet:servlet-common:bootstrap")) + compileOnly("javax.servlet:javax.servlet-api:3.0.1") implementation(project(":instrumentation:servlet:servlet-common:javaagent")) diff --git a/instrumentation/liberty/liberty/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/LibertyHelper.java b/instrumentation/liberty/liberty/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/LibertyHelper.java index e9ec13999e69..7d8f5a2232f1 100644 --- a/instrumentation/liberty/liberty/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/LibertyHelper.java +++ b/instrumentation/liberty/liberty/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/LibertyHelper.java @@ -8,7 +8,7 @@ import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; import io.opentelemetry.javaagent.instrumentation.servlet.ServletAccessor; import io.opentelemetry.javaagent.instrumentation.servlet.ServletHelper; import io.opentelemetry.javaagent.instrumentation.servlet.ServletRequestContext; diff --git a/instrumentation/liberty/liberty/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/LibertySingletons.java b/instrumentation/liberty/liberty/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/LibertySingletons.java index c3c637896ad9..cb30188b9061 100644 --- a/instrumentation/liberty/liberty/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/LibertySingletons.java +++ b/instrumentation/liberty/liberty/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/LibertySingletons.java @@ -8,8 +8,8 @@ import static io.opentelemetry.instrumentation.api.servlet.ServerSpanNaming.Source.CONTAINER; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; import io.opentelemetry.instrumentation.api.servlet.ServerSpanNaming; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; import io.opentelemetry.javaagent.instrumentation.servlet.ServletInstrumenterBuilder; import io.opentelemetry.javaagent.instrumentation.servlet.ServletRequestContext; import io.opentelemetry.javaagent.instrumentation.servlet.ServletResponseContext; diff --git a/instrumentation/rmi/javaagent/build.gradle.kts b/instrumentation/rmi/javaagent/build.gradle.kts index a8844a67259a..00b630737e5d 100644 --- a/instrumentation/rmi/javaagent/build.gradle.kts +++ b/instrumentation/rmi/javaagent/build.gradle.kts @@ -12,7 +12,7 @@ dependencies { compileOnly("com.google.auto.value:auto-value-annotations") annotationProcessor("com.google.auto.value:auto-value") - compileOnly(project(":instrumentation:rmi:bootstrap")) + bootstrap(project(":instrumentation:rmi:bootstrap")) } // We cannot use "--release" javac option here because that will forbid importing "sun.rmi" package. diff --git a/instrumentation/servlet/servlet-2.2/javaagent/build.gradle.kts b/instrumentation/servlet/servlet-2.2/javaagent/build.gradle.kts index 4972bb8d880c..eaa118046a94 100644 --- a/instrumentation/servlet/servlet-2.2/javaagent/build.gradle.kts +++ b/instrumentation/servlet/servlet-2.2/javaagent/build.gradle.kts @@ -18,9 +18,11 @@ muzzle { } dependencies { - compileOnly("javax.servlet:servlet-api:2.2") implementation(project(":instrumentation:servlet:servlet-common:javaagent")) implementation(project(":instrumentation:servlet:servlet-javax-common:javaagent")) + bootstrap(project(":instrumentation:servlet:servlet-common:bootstrap")) + + compileOnly("javax.servlet:servlet-api:2.2") testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent")) diff --git a/instrumentation/servlet/servlet-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/Servlet2Advice.java b/instrumentation/servlet/servlet-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/Servlet2Advice.java index c3437445b388..a53d5b557c2a 100644 --- a/instrumentation/servlet/servlet-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/Servlet2Advice.java +++ b/instrumentation/servlet/servlet-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/Servlet2Advice.java @@ -10,7 +10,7 @@ import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; import io.opentelemetry.instrumentation.api.field.VirtualField; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; import io.opentelemetry.javaagent.instrumentation.api.CallDepth; import io.opentelemetry.javaagent.instrumentation.api.Java8BytecodeBridge; import io.opentelemetry.javaagent.instrumentation.servlet.ServletRequestContext; diff --git a/instrumentation/servlet/servlet-3.0/javaagent/build.gradle.kts b/instrumentation/servlet/servlet-3.0/javaagent/build.gradle.kts index 27b48a01c06e..95d66dda7040 100644 --- a/instrumentation/servlet/servlet-3.0/javaagent/build.gradle.kts +++ b/instrumentation/servlet/servlet-3.0/javaagent/build.gradle.kts @@ -16,9 +16,11 @@ muzzle { } dependencies { - compileOnly("javax.servlet:javax.servlet-api:3.0.1") api(project(":instrumentation:servlet:servlet-common:javaagent")) api(project(":instrumentation:servlet:servlet-javax-common:javaagent")) + bootstrap(project(":instrumentation:servlet:servlet-common:bootstrap")) + + compileOnly("javax.servlet:javax.servlet-api:3.0.1") testInstrumentation(project(":instrumentation:jetty:jetty-8.0:javaagent")) diff --git a/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Advice.java b/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Advice.java index 7c302c185511..c03fc445b191 100644 --- a/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Advice.java +++ b/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Advice.java @@ -9,9 +9,9 @@ import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; import io.opentelemetry.instrumentation.api.tracer.ServerSpan; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import io.opentelemetry.javaagent.instrumentation.api.CallDepth; import io.opentelemetry.javaagent.instrumentation.api.Java8BytecodeBridge; import io.opentelemetry.javaagent.instrumentation.servlet.ServletRequestContext; diff --git a/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3FilterInitAdvice.java b/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3FilterInitAdvice.java index 1525c535f24f..2799f6f554ad 100644 --- a/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3FilterInitAdvice.java +++ b/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3FilterInitAdvice.java @@ -6,7 +6,7 @@ package io.opentelemetry.javaagent.instrumentation.servlet.v3_0; import io.opentelemetry.instrumentation.api.field.VirtualField; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import javax.servlet.Filter; import javax.servlet.FilterConfig; import net.bytebuddy.asm.Advice; diff --git a/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3InitAdvice.java b/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3InitAdvice.java index da4a8f619e31..163b89501c3d 100644 --- a/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3InitAdvice.java +++ b/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3InitAdvice.java @@ -6,7 +6,7 @@ package io.opentelemetry.javaagent.instrumentation.servlet.v3_0; import io.opentelemetry.instrumentation.api.field.VirtualField; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import net.bytebuddy.asm.Advice; diff --git a/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Singletons.java b/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Singletons.java index d74bd2101b80..cb8efedb2814 100644 --- a/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Singletons.java +++ b/instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Singletons.java @@ -10,8 +10,8 @@ import io.opentelemetry.instrumentation.api.field.VirtualField; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; import io.opentelemetry.instrumentation.api.servlet.ServerSpanNaming; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import io.opentelemetry.javaagent.instrumentation.servlet.ServletHelper; import io.opentelemetry.javaagent.instrumentation.servlet.ServletInstrumenterBuilder; import io.opentelemetry.javaagent.instrumentation.servlet.ServletRequestContext; diff --git a/instrumentation/servlet/servlet-5.0/javaagent/build.gradle.kts b/instrumentation/servlet/servlet-5.0/javaagent/build.gradle.kts index 2dce8f69ad16..30033bb389bc 100644 --- a/instrumentation/servlet/servlet-5.0/javaagent/build.gradle.kts +++ b/instrumentation/servlet/servlet-5.0/javaagent/build.gradle.kts @@ -13,6 +13,7 @@ muzzle { dependencies { api(project(":instrumentation:servlet:servlet-common:javaagent")) + bootstrap(project(":instrumentation:servlet:servlet-common:bootstrap")) compileOnly("jakarta.servlet:jakarta.servlet-api:5.0.0") diff --git a/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/Servlet5Singletons.java b/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/Servlet5Singletons.java index a82d1276b6bb..9df1b01a98d9 100644 --- a/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/Servlet5Singletons.java +++ b/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/Servlet5Singletons.java @@ -10,8 +10,8 @@ import io.opentelemetry.instrumentation.api.field.VirtualField; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; import io.opentelemetry.instrumentation.api.servlet.ServerSpanNaming; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import io.opentelemetry.javaagent.instrumentation.servlet.ServletHelper; import io.opentelemetry.javaagent.instrumentation.servlet.ServletInstrumenterBuilder; import io.opentelemetry.javaagent.instrumentation.servlet.ServletRequestContext; diff --git a/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletFilterInitAdvice.java b/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletFilterInitAdvice.java index d9e31607a888..4bba891d7cde 100644 --- a/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletFilterInitAdvice.java +++ b/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletFilterInitAdvice.java @@ -6,7 +6,7 @@ package io.opentelemetry.javaagent.instrumentation.servlet.v5_0.service; import io.opentelemetry.instrumentation.api.field.VirtualField; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import jakarta.servlet.Filter; import jakarta.servlet.FilterConfig; import net.bytebuddy.asm.Advice; diff --git a/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletInitAdvice.java b/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletInitAdvice.java index b9fd0b2e0d49..c7bb8e3543f1 100644 --- a/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletInitAdvice.java +++ b/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletInitAdvice.java @@ -6,7 +6,7 @@ package io.opentelemetry.javaagent.instrumentation.servlet.v5_0.service; import io.opentelemetry.instrumentation.api.field.VirtualField; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import jakarta.servlet.Servlet; import jakarta.servlet.ServletConfig; import net.bytebuddy.asm.Advice; diff --git a/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletServiceAdvice.java b/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletServiceAdvice.java index 6f0eb57cfe30..f063ba03ead6 100644 --- a/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletServiceAdvice.java +++ b/instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/service/JakartaServletServiceAdvice.java @@ -9,9 +9,9 @@ import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; import io.opentelemetry.instrumentation.api.tracer.ServerSpan; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import io.opentelemetry.javaagent.instrumentation.api.CallDepth; import io.opentelemetry.javaagent.instrumentation.api.Java8BytecodeBridge; import io.opentelemetry.javaagent.instrumentation.servlet.ServletRequestContext; diff --git a/instrumentation/servlet/servlet-common/bootstrap/build.gradle.kts b/instrumentation/servlet/servlet-common/bootstrap/build.gradle.kts new file mode 100644 index 000000000000..072a96df450f --- /dev/null +++ b/instrumentation/servlet/servlet-common/bootstrap/build.gradle.kts @@ -0,0 +1,3 @@ +plugins { + id("otel.javaagent-bootstrap") +} diff --git a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/servlet/AppServerBridge.java b/instrumentation/servlet/servlet-common/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/servlet/AppServerBridge.java similarity index 98% rename from instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/servlet/AppServerBridge.java rename to instrumentation/servlet/servlet-common/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/servlet/AppServerBridge.java index 0e55d2a37cab..ba31aa8db1aa 100644 --- a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/servlet/AppServerBridge.java +++ b/instrumentation/servlet/servlet-common/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/servlet/AppServerBridge.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.api.servlet; +package io.opentelemetry.javaagent.bootstrap.servlet; import io.opentelemetry.context.Context; import io.opentelemetry.context.ContextKey; diff --git a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/servlet/MappingResolver.java b/instrumentation/servlet/servlet-common/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/servlet/MappingResolver.java similarity index 98% rename from instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/servlet/MappingResolver.java rename to instrumentation/servlet/servlet-common/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/servlet/MappingResolver.java index d70249d85eae..aded58a03c72 100644 --- a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/servlet/MappingResolver.java +++ b/instrumentation/servlet/servlet-common/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/servlet/MappingResolver.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.api.servlet; +package io.opentelemetry.javaagent.bootstrap.servlet; import java.util.ArrayList; import java.util.Collection; diff --git a/instrumentation/servlet/servlet-common/javaagent/build.gradle.kts b/instrumentation/servlet/servlet-common/javaagent/build.gradle.kts index 3cd8eed07989..604b0573cc88 100644 --- a/instrumentation/servlet/servlet-common/javaagent/build.gradle.kts +++ b/instrumentation/servlet/servlet-common/javaagent/build.gradle.kts @@ -4,3 +4,7 @@ plugins { // This module is only used as a dependency for other javaagent modules and does not contain any // non-abstract implementations of InstrumentationModule + +dependencies { + compileOnly(project(":instrumentation:servlet:servlet-common:bootstrap")) +} diff --git a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/BaseServletHelper.java b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/BaseServletHelper.java index 43f20d4795c1..0c3e4c151478 100644 --- a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/BaseServletHelper.java +++ b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/BaseServletHelper.java @@ -12,11 +12,11 @@ import io.opentelemetry.api.trace.SpanContext; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; import io.opentelemetry.instrumentation.api.servlet.ServerSpanNaming; import io.opentelemetry.instrumentation.api.servlet.ServletContextPath; import io.opentelemetry.instrumentation.api.tracer.ServerSpan; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import java.util.function.Function; public abstract class BaseServletHelper { diff --git a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletInstrumenterBuilder.java b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletInstrumenterBuilder.java index 8a151a6eb069..2c7b9a9805d7 100644 --- a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletInstrumenterBuilder.java +++ b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletInstrumenterBuilder.java @@ -15,7 +15,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerMetrics; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import java.util.ArrayList; import java.util.List; import java.util.function.Function; diff --git a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletMappingResolverFactory.java b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletMappingResolverFactory.java index 8fafe359a498..57f963f1d1fe 100644 --- a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletMappingResolverFactory.java +++ b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletMappingResolverFactory.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.servlet; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import java.util.Collection; import javax.annotation.Nullable; diff --git a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletSpanNameExtractor.java b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletSpanNameExtractor.java index c7b87c0caa16..db074fb42909 100644 --- a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletSpanNameExtractor.java +++ b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletSpanNameExtractor.java @@ -6,7 +6,7 @@ package io.opentelemetry.javaagent.instrumentation.servlet; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import java.util.function.Function; import javax.annotation.Nullable; diff --git a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletSpanNameProvider.java b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletSpanNameProvider.java index 871359f9aac7..05d1eca6ca10 100644 --- a/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletSpanNameProvider.java +++ b/instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/ServletSpanNameProvider.java @@ -6,9 +6,9 @@ package io.opentelemetry.javaagent.instrumentation.servlet; import io.opentelemetry.context.Context; -import io.opentelemetry.instrumentation.api.servlet.MappingResolver; import io.opentelemetry.instrumentation.api.servlet.ServerSpanNameTwoArgSupplier; import io.opentelemetry.instrumentation.api.servlet.ServletContextPath; +import io.opentelemetry.javaagent.bootstrap.servlet.MappingResolver; import javax.annotation.Nullable; /** Helper class for constructing span name for given servlet/filter mapping and request. */ diff --git a/instrumentation/spring/spring-kafka-2.7/javaagent/build.gradle.kts b/instrumentation/spring/spring-kafka-2.7/javaagent/build.gradle.kts index 0e60e932fd59..8525bfdd406b 100644 --- a/instrumentation/spring/spring-kafka-2.7/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-kafka-2.7/javaagent/build.gradle.kts @@ -15,7 +15,7 @@ dependencies { compileOnly("com.google.auto.value:auto-value-annotations") annotationProcessor("com.google.auto.value:auto-value") - compileOnly(project(":instrumentation:kafka-clients:kafka-clients-0.11:bootstrap")) + bootstrap(project(":instrumentation:kafka-clients:kafka-clients-0.11:bootstrap")) implementation(project(":instrumentation:kafka-clients:kafka-clients-common:library")) library("org.springframework.kafka:spring-kafka:2.7.0") diff --git a/instrumentation/tomcat/tomcat-10.0/javaagent/build.gradle.kts b/instrumentation/tomcat/tomcat-10.0/javaagent/build.gradle.kts index 6c094ff43106..a32c8365bca8 100644 --- a/instrumentation/tomcat/tomcat-10.0/javaagent/build.gradle.kts +++ b/instrumentation/tomcat/tomcat-10.0/javaagent/build.gradle.kts @@ -11,9 +11,12 @@ muzzle { } dependencies { - library("org.apache.tomcat.embed:tomcat-embed-core:10.0.0") implementation(project(":instrumentation:tomcat:tomcat-common:javaagent")) implementation(project(":instrumentation:servlet:servlet-5.0:javaagent")) + bootstrap(project(":instrumentation:servlet:servlet-common:bootstrap")) + + library("org.apache.tomcat.embed:tomcat-embed-core:10.0.0") + // Make sure nothing breaks due to both 7.0 and 10.0 modules being present together testInstrumentation(project(":instrumentation:tomcat:tomcat-7.0:javaagent")) } diff --git a/instrumentation/tomcat/tomcat-7.0/javaagent/build.gradle.kts b/instrumentation/tomcat/tomcat-7.0/javaagent/build.gradle.kts index 2e87102c13f5..4f59c9bee9c2 100644 --- a/instrumentation/tomcat/tomcat-7.0/javaagent/build.gradle.kts +++ b/instrumentation/tomcat/tomcat-7.0/javaagent/build.gradle.kts @@ -13,9 +13,12 @@ muzzle { } dependencies { - compileOnly("org.apache.tomcat.embed:tomcat-embed-core:7.0.4") implementation(project(":instrumentation:tomcat:tomcat-common:javaagent")) implementation(project(":instrumentation:servlet:servlet-3.0:javaagent")) + bootstrap(project(":instrumentation:servlet:servlet-common:bootstrap")) + + compileOnly("org.apache.tomcat.embed:tomcat-embed-core:7.0.4") + testInstrumentation(project(":instrumentation:servlet:servlet-javax-common:javaagent")) // Make sure nothing breaks due to both 7.0 and 10.0 modules being present together testInstrumentation(project(":instrumentation:tomcat:tomcat-10.0:javaagent")) diff --git a/instrumentation/tomcat/tomcat-common/javaagent/build.gradle.kts b/instrumentation/tomcat/tomcat-common/javaagent/build.gradle.kts index 58c5a86187d8..3a3cacd62854 100644 --- a/instrumentation/tomcat/tomcat-common/javaagent/build.gradle.kts +++ b/instrumentation/tomcat/tomcat-common/javaagent/build.gradle.kts @@ -4,6 +4,7 @@ plugins { dependencies { api(project(":instrumentation:servlet:servlet-common:javaagent")) + compileOnly(project(":instrumentation:servlet:servlet-common:bootstrap")) compileOnly("org.apache.tomcat.embed:tomcat-embed-core:7.0.4") } diff --git a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatHelper.java b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatHelper.java index fb060df25d85..0cc65cee7547 100644 --- a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatHelper.java +++ b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatHelper.java @@ -8,7 +8,7 @@ import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; import io.opentelemetry.javaagent.instrumentation.servlet.ServletHelper; import org.apache.coyote.Request; import org.apache.coyote.Response; diff --git a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java index 95696f5bd6b4..1708fd0b6afd 100644 --- a/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java +++ b/instrumentation/tomcat/tomcat-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/tomcat/common/TomcatInstrumenterFactory.java @@ -17,8 +17,8 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; import io.opentelemetry.instrumentation.api.servlet.ServerSpanNaming; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; import io.opentelemetry.javaagent.instrumentation.servlet.ServletAccessor; import io.opentelemetry.javaagent.instrumentation.servlet.ServletErrorCauseExtractor; import org.apache.coyote.Request; diff --git a/instrumentation/undertow-1.4/javaagent/build.gradle.kts b/instrumentation/undertow-1.4/javaagent/build.gradle.kts index fb03180077f9..a4837b1633b6 100644 --- a/instrumentation/undertow-1.4/javaagent/build.gradle.kts +++ b/instrumentation/undertow-1.4/javaagent/build.gradle.kts @@ -14,5 +14,6 @@ muzzle { dependencies { library("io.undertow:undertow-core:2.0.0.Final") - compileOnly(project(":instrumentation:undertow-1.4:bootstrap")) + bootstrap(project(":instrumentation:servlet:servlet-common:bootstrap")) + bootstrap(project(":instrumentation:undertow-1.4:bootstrap")) } diff --git a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowHelper.java b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowHelper.java index 857ae70bc5b0..d6802bb2b8bf 100644 --- a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowHelper.java +++ b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowHelper.java @@ -7,7 +7,7 @@ import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; import io.opentelemetry.javaagent.bootstrap.undertow.KeyHolder; import io.opentelemetry.javaagent.bootstrap.undertow.UndertowActiveHandlers; import io.undertow.server.DefaultResponseListener; diff --git a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java index bc9b35bdc680..36744cb9334c 100644 --- a/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java +++ b/instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowSingletons.java @@ -16,8 +16,8 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; -import io.opentelemetry.instrumentation.api.servlet.AppServerBridge; import io.opentelemetry.instrumentation.api.servlet.ServerSpanNaming; +import io.opentelemetry.javaagent.bootstrap.servlet.AppServerBridge; import io.opentelemetry.javaagent.bootstrap.undertow.UndertowActiveHandlers; import io.undertow.server.HttpServerExchange; diff --git a/settings.gradle.kts b/settings.gradle.kts index aca10748352d..d68d5d77c7e5 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -339,6 +339,7 @@ include(":instrumentation:rxjava:rxjava-3.0:library") include(":instrumentation:rxjava:rxjava-3.0:testing") include(":instrumentation:rxjava:rxjava-3.0:javaagent") include(":instrumentation:scala-executors:javaagent") +include(":instrumentation:servlet:servlet-common:bootstrap") include(":instrumentation:servlet:servlet-common:javaagent") include(":instrumentation:servlet:servlet-javax-common:javaagent") include(":instrumentation:servlet:servlet-2.2:javaagent")