Rename class since they instrument the context
This commit is contained in:
parent
54ba905224
commit
5d2d19af75
|
@ -11,7 +11,7 @@ import net.bytebuddy.asm.Advice;
|
||||||
|
|
||||||
/** Jersey specific filter instrumentation. */
|
/** Jersey specific filter instrumentation. */
|
||||||
@AutoService(Instrumenter.class)
|
@AutoService(Instrumenter.class)
|
||||||
public class JerseyRequestFilterInstrumentation extends AbstractRequestFilterInstrumentation {
|
public class JerseyRequestContextInstrumentation extends AbstractRequestContextInstrumentation {
|
||||||
public static class ContainerRequestContextAdvice {
|
public static class ContainerRequestContextAdvice {
|
||||||
@Advice.OnMethodEnter(suppress = Throwable.class)
|
@Advice.OnMethodEnter(suppress = Throwable.class)
|
||||||
public static AgentScope decorateAbortSpan(@Advice.This final ContainerRequestContext context) {
|
public static AgentScope decorateAbortSpan(@Advice.This final ContainerRequestContext context) {
|
|
@ -10,7 +10,7 @@ import org.jboss.resteasy.core.ResourceMethodInvoker;
|
||||||
import org.jboss.resteasy.core.interception.PostMatchContainerRequestContext;
|
import org.jboss.resteasy.core.interception.PostMatchContainerRequestContext;
|
||||||
|
|
||||||
@AutoService(Instrumenter.class)
|
@AutoService(Instrumenter.class)
|
||||||
public class Resteasy30RequestFilterInstrumentation extends AbstractRequestFilterInstrumentation {
|
public class Resteasy30RequestContextInstrumentation extends AbstractRequestContextInstrumentation {
|
||||||
public static class ContainerRequestContextAdvice {
|
public static class ContainerRequestContextAdvice {
|
||||||
|
|
||||||
@Advice.OnMethodEnter(suppress = Throwable.class)
|
@Advice.OnMethodEnter(suppress = Throwable.class)
|
|
@ -10,7 +10,7 @@ import org.jboss.resteasy.core.ResourceMethodInvoker;
|
||||||
import org.jboss.resteasy.core.interception.jaxrs.PostMatchContainerRequestContext;
|
import org.jboss.resteasy.core.interception.jaxrs.PostMatchContainerRequestContext;
|
||||||
|
|
||||||
@AutoService(Instrumenter.class)
|
@AutoService(Instrumenter.class)
|
||||||
public class Resteasy31RequestFilterInstrumentation extends AbstractRequestFilterInstrumentation {
|
public class Resteasy31RequestContextInstrumentation extends AbstractRequestContextInstrumentation {
|
||||||
public static class ContainerRequestContextAdvice {
|
public static class ContainerRequestContextAdvice {
|
||||||
@Advice.OnMethodEnter(suppress = Throwable.class)
|
@Advice.OnMethodEnter(suppress = Throwable.class)
|
||||||
public static AgentScope decorateAbortSpan(@Advice.This final ContainerRequestContext context) {
|
public static AgentScope decorateAbortSpan(@Advice.This final ContainerRequestContext context) {
|
|
@ -23,8 +23,8 @@ import net.bytebuddy.description.method.MethodDescription;
|
||||||
import net.bytebuddy.description.type.TypeDescription;
|
import net.bytebuddy.description.type.TypeDescription;
|
||||||
import net.bytebuddy.matcher.ElementMatcher;
|
import net.bytebuddy.matcher.ElementMatcher;
|
||||||
|
|
||||||
public abstract class AbstractRequestFilterInstrumentation extends Instrumenter.Default {
|
public abstract class AbstractRequestContextInstrumentation extends Instrumenter.Default {
|
||||||
public AbstractRequestFilterInstrumentation() {
|
public AbstractRequestContextInstrumentation() {
|
||||||
super("jax-rs", "jaxrs", "jax-rs-filter");
|
super("jax-rs", "jaxrs", "jax-rs-filter");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ public abstract class AbstractRequestFilterInstrumentation extends Instrumenter.
|
||||||
"datadog.trace.agent.tooling.ClassHierarchyIterable",
|
"datadog.trace.agent.tooling.ClassHierarchyIterable",
|
||||||
"datadog.trace.agent.tooling.ClassHierarchyIterable$ClassIterator",
|
"datadog.trace.agent.tooling.ClassHierarchyIterable$ClassIterator",
|
||||||
packageName + ".JaxRsAnnotationsDecorator",
|
packageName + ".JaxRsAnnotationsDecorator",
|
||||||
AbstractRequestFilterInstrumentation.class.getName() + "$RequestFilterHelper",
|
AbstractRequestContextInstrumentation.class.getName() + "$RequestFilterHelper",
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,66 +1,24 @@
|
||||||
package datadog.trace.instrumentation.jaxrs2;
|
package datadog.trace.instrumentation.jaxrs2;
|
||||||
|
|
||||||
import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType;
|
|
||||||
import static datadog.trace.instrumentation.api.AgentTracer.activateSpan;
|
import static datadog.trace.instrumentation.api.AgentTracer.activateSpan;
|
||||||
import static datadog.trace.instrumentation.api.AgentTracer.activeSpan;
|
import static datadog.trace.instrumentation.api.AgentTracer.activeSpan;
|
||||||
import static datadog.trace.instrumentation.api.AgentTracer.startSpan;
|
import static datadog.trace.instrumentation.api.AgentTracer.startSpan;
|
||||||
import static datadog.trace.instrumentation.jaxrs2.JaxRsAnnotationsDecorator.DECORATE;
|
import static datadog.trace.instrumentation.jaxrs2.JaxRsAnnotationsDecorator.DECORATE;
|
||||||
import static java.util.Collections.singletonMap;
|
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.isInterface;
|
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
|
|
||||||
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.takesArguments;
|
|
||||||
|
|
||||||
import com.google.auto.service.AutoService;
|
import com.google.auto.service.AutoService;
|
||||||
import datadog.trace.agent.tooling.Instrumenter;
|
import datadog.trace.agent.tooling.Instrumenter;
|
||||||
import datadog.trace.instrumentation.api.AgentScope;
|
import datadog.trace.instrumentation.api.AgentScope;
|
||||||
import datadog.trace.instrumentation.api.AgentSpan;
|
import datadog.trace.instrumentation.api.AgentSpan;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.Map;
|
|
||||||
import javax.ws.rs.container.ContainerRequestContext;
|
import javax.ws.rs.container.ContainerRequestContext;
|
||||||
import net.bytebuddy.asm.Advice;
|
import net.bytebuddy.asm.Advice;
|
||||||
import net.bytebuddy.description.method.MethodDescription;
|
|
||||||
import net.bytebuddy.description.type.TypeDescription;
|
|
||||||
import net.bytebuddy.matcher.ElementMatcher;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a generic jax-rs.request.abort span based on the class name of the filter Implementation
|
* Create a generic jax-rs.request.abort span based on the class name of the filter Implementation
|
||||||
* specifc instrumentations can override tag values
|
* specifc instrumentations can override tag values
|
||||||
*/
|
*/
|
||||||
@AutoService(Instrumenter.class)
|
@AutoService(Instrumenter.class)
|
||||||
public class ContainerRequestContextInstrumentation extends Instrumenter.Default {
|
public class DefaultRequestContextInstrumentation extends AbstractRequestContextInstrumentation {
|
||||||
public ContainerRequestContextInstrumentation() {
|
|
||||||
super("jax-rs", "jaxrs", "jax-rs-filter");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ElementMatcher<TypeDescription> typeMatcher() {
|
|
||||||
return not(isInterface())
|
|
||||||
.and(safeHasSuperType(named("javax.ws.rs.container.ContainerRequestContext")));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Map<? extends ElementMatcher<? super MethodDescription>, String> transformers() {
|
|
||||||
return singletonMap(
|
|
||||||
isMethod()
|
|
||||||
.and(named("abortWith"))
|
|
||||||
.and(takesArguments(1))
|
|
||||||
.and(takesArgument(0, named("javax.ws.rs.core.Response"))),
|
|
||||||
ContainerRequestContextInstrumentation.class.getName() + "$ContainerRequestContextAdvice");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String[] helperClassNames() {
|
|
||||||
return new String[] {
|
|
||||||
"datadog.trace.agent.decorator.BaseDecorator",
|
|
||||||
"datadog.trace.agent.tooling.ClassHierarchyIterable",
|
|
||||||
"datadog.trace.agent.tooling.ClassHierarchyIterable$ClassIterator",
|
|
||||||
"datadog.trace.instrumentation.jaxrs2.JaxRsAnnotationsDecorator",
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class ContainerRequestContextAdvice {
|
public static class ContainerRequestContextAdvice {
|
||||||
@Advice.OnMethodEnter(suppress = Throwable.class)
|
@Advice.OnMethodEnter(suppress = Throwable.class)
|
||||||
public static AgentScope createGenericSpan(@Advice.This final ContainerRequestContext context) {
|
public static AgentScope createGenericSpan(@Advice.This final ContainerRequestContext context) {
|
Loading…
Reference in New Issue