Avoid logging servlet3 muzzle failure when running on servlet2 (#4474)

This commit is contained in:
Lauri Tulmin 2021-10-22 22:57:53 +03:00 committed by GitHub
parent 9b8ab5eeec
commit 1dfd8654f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 0 deletions

View File

@ -23,6 +23,7 @@ dependencies {
implementation(project(":instrumentation:servlet:servlet-javax-common:library")) implementation(project(":instrumentation:servlet:servlet-javax-common:library"))
testInstrumentation(project(":instrumentation:servlet:servlet-javax-common:javaagent")) testInstrumentation(project(":instrumentation:servlet:servlet-javax-common:javaagent"))
testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent"))
testLibrary("org.eclipse.jetty:jetty-server:7.0.0.v20091005") testLibrary("org.eclipse.jetty:jetty-server:7.0.0.v20091005")
testLibrary("org.eclipse.jetty:jetty-servlet:7.0.0.v20091005") testLibrary("org.eclipse.jetty:jetty-servlet:7.0.0.v20091005")

View File

@ -5,6 +5,7 @@
package io.opentelemetry.javaagent.instrumentation.servlet.v3_0; package io.opentelemetry.javaagent.instrumentation.servlet.v3_0;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
import static java.util.Arrays.asList; import static java.util.Arrays.asList;
import com.google.auto.service.AutoService; import com.google.auto.service.AutoService;
@ -14,6 +15,7 @@ import io.opentelemetry.javaagent.instrumentation.servlet.common.async.AsyncCont
import io.opentelemetry.javaagent.instrumentation.servlet.common.async.AsyncStartInstrumentation; import io.opentelemetry.javaagent.instrumentation.servlet.common.async.AsyncStartInstrumentation;
import io.opentelemetry.javaagent.instrumentation.servlet.common.service.ServletAndFilterInstrumentation; import io.opentelemetry.javaagent.instrumentation.servlet.common.service.ServletAndFilterInstrumentation;
import java.util.List; import java.util.List;
import net.bytebuddy.matcher.ElementMatcher;
@AutoService(InstrumentationModule.class) @AutoService(InstrumentationModule.class)
public class Servlet3InstrumentationModule extends InstrumentationModule { public class Servlet3InstrumentationModule extends InstrumentationModule {
@ -23,6 +25,11 @@ public class Servlet3InstrumentationModule extends InstrumentationModule {
super("servlet", "servlet-3.0"); super("servlet", "servlet-3.0");
} }
@Override
public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
return hasClassesNamed("javax.servlet.ServletRegistration");
}
@Override @Override
public List<TypeInstrumentation> typeInstrumentations() { public List<TypeInstrumentation> typeInstrumentations() {
return asList( return asList(