Merge pull request #175 from DataDog/tyler/fix-jersey
Fix jersey servlet instrumentation which overrides method
This commit is contained in:
commit
6509ed32b5
|
@ -1,6 +1,8 @@
|
||||||
package dd.inst.servlet2;
|
package dd.inst.servlet2;
|
||||||
|
|
||||||
import static dd.trace.ClassLoaderMatcher.classLoaderHasClasses;
|
import static dd.trace.ClassLoaderMatcher.classLoaderHasClasses;
|
||||||
|
import static net.bytebuddy.matcher.ElementMatchers.hasSuperType;
|
||||||
|
import static net.bytebuddy.matcher.ElementMatchers.isInterface;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.isProtected;
|
import static net.bytebuddy.matcher.ElementMatchers.isProtected;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.not;
|
import static net.bytebuddy.matcher.ElementMatchers.not;
|
||||||
|
@ -30,7 +32,7 @@ public final class HttpServlet2Instrumentation implements Instrumenter {
|
||||||
public AgentBuilder instrument(final AgentBuilder agentBuilder) {
|
public AgentBuilder instrument(final AgentBuilder agentBuilder) {
|
||||||
return agentBuilder
|
return agentBuilder
|
||||||
.type(
|
.type(
|
||||||
named("javax.servlet.http.HttpServlet"),
|
not(isInterface()).and(hasSuperType(named("javax.servlet.http.HttpServlet"))),
|
||||||
not(classLoaderHasClasses("javax.servlet.AsyncEvent", "javax.servlet.AsyncListener"))
|
not(classLoaderHasClasses("javax.servlet.AsyncEvent", "javax.servlet.AsyncListener"))
|
||||||
.and(
|
.and(
|
||||||
classLoaderHasClasses(
|
classLoaderHasClasses(
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
package dd.inst.servlet3;
|
package dd.inst.servlet3;
|
||||||
|
|
||||||
import static dd.trace.ClassLoaderMatcher.classLoaderHasClasses;
|
import static dd.trace.ClassLoaderMatcher.classLoaderHasClasses;
|
||||||
|
import static net.bytebuddy.matcher.ElementMatchers.hasSuperType;
|
||||||
|
import static net.bytebuddy.matcher.ElementMatchers.isInterface;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.isProtected;
|
import static net.bytebuddy.matcher.ElementMatchers.isProtected;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||||
|
import static net.bytebuddy.matcher.ElementMatchers.not;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
|
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
|
||||||
|
|
||||||
import com.google.auto.service.AutoService;
|
import com.google.auto.service.AutoService;
|
||||||
|
@ -33,7 +36,7 @@ public final class HttpServlet3Instrumentation implements Instrumenter {
|
||||||
public AgentBuilder instrument(final AgentBuilder agentBuilder) {
|
public AgentBuilder instrument(final AgentBuilder agentBuilder) {
|
||||||
return agentBuilder
|
return agentBuilder
|
||||||
.type(
|
.type(
|
||||||
named("javax.servlet.http.HttpServlet"),
|
not(isInterface()).and(hasSuperType(named("javax.servlet.http.HttpServlet"))),
|
||||||
classLoaderHasClasses("javax.servlet.AsyncEvent", "javax.servlet.AsyncListener"))
|
classLoaderHasClasses("javax.servlet.AsyncEvent", "javax.servlet.AsyncListener"))
|
||||||
.transform(
|
.transform(
|
||||||
DDAdvice.create()
|
DDAdvice.create()
|
||||||
|
|
Loading…
Reference in New Issue