From f70c35842d05f8e97de1028cc88421cf14cde33c Mon Sep 17 00:00:00 2001 From: Tyler Benson Date: Fri, 21 Feb 2020 11:36:10 -0800 Subject: [PATCH 1/4] Move matchers to separate package and split matcher classes out --- .../trace/agent/tooling/AgentTooling.java | 2 + .../tooling/ByteBuddyElementMatchers.java | 393 ------------------ .../trace/agent/tooling/Instrumenter.java | 3 +- .../DDCachingPoolStrategy.java | 2 +- .../{ => bytebuddy}/DDLocationStrategy.java | 3 +- .../{ => bytebuddy}/DDTransformers.java | 10 +- .../bytebuddy/matcher/DDElementMatchers.java | 72 ++++ .../matcher/HasSuperMethodMatcher.java | 71 ++++ .../bytebuddy/matcher/SafeErasureMatcher.java | 65 +++ .../matcher/SafeExtendsClassMatcher.java | 29 ++ .../matcher/SafeHasSuperTypeMatcher.java | 135 ++++++ .../bytebuddy/matcher/SafeMatcher.java | 57 +++ .../tooling/context/FieldBackedProvider.java | 2 +- .../agent/test/ResourceLocatingTest.groovy | 2 +- .../agent/tooling/CacheProviderTest.groovy | 6 +- .../ApacheHttpAsyncClientInstrumentation.java | 2 +- ...acheHttpClientRedirectInstrumentation.java | 2 +- .../ApacheHttpClientInstrumentation.java | 2 +- .../aws/v0/RequestInstrumentation.java | 2 +- .../aws/v2/AwsClientInstrumentation.java | 2 +- .../aws/v2/AwsHttpClientInstrumentation.java | 2 +- .../ClassloadingInstrumentation.java | 2 +- .../CouchbaseNetworkInstrumentation.java | 2 +- .../view/DropwizardViewInstrumentation.java | 2 +- .../finatra/FinatraInstrumentation.java | 2 +- .../core/v3_3/CriteriaInstrumentation.java | 2 +- .../core/v3_3/QueryInstrumentation.java | 2 +- .../v3_3/SessionFactoryInstrumentation.java | 2 +- .../core/v3_3/SessionInstrumentation.java | 2 +- .../core/v3_3/TransactionInstrumentation.java | 2 +- .../core/v4_0/CriteriaInstrumentation.java | 2 +- .../core/v4_0/QueryInstrumentation.java | 2 +- .../v4_0/SessionFactoryInstrumentation.java | 2 +- .../core/v4_0/SessionInstrumentation.java | 2 +- .../core/v4_0/TransactionInstrumentation.java | 2 +- .../v4_3/ProcedureCallInstrumentation.java | 2 +- .../core/v4_3/SessionInstrumentation.java | 2 +- .../HttpUrlConnectionInstrumentation.java | 2 +- .../hystrix/HystrixInstrumentation.java | 2 +- .../AbstractExecutorInstrumentation.java | 2 +- .../AkkaForkJoinTaskInstrumentation.java | 2 +- ...syncPropagatingDisableInstrumentation.java | 2 +- .../concurrent/FutureInstrumentation.java | 2 +- .../JavaForkJoinTaskInstrumentation.java | 2 +- .../RunnableCallableInstrumentation.java | 2 +- .../ScalaForkJoinTaskInstrumentation.java | 2 +- .../JaxRsAnnotationsInstrumentation.java | 4 +- ...AbstractRequestContextInstrumentation.java | 2 +- ...ContainerRequestFilterInstrumentation.java | 2 +- .../JaxRsAnnotationsInstrumentation.java | 4 +- .../JaxRsAsyncResponseInstrumentation.java | 2 +- .../v1/JaxRsClientV1Instrumentation.java | 4 +- .../jaxrs/JaxRsClientInstrumentation.java | 4 +- .../jdbc/ConnectionInstrumentation.java | 2 +- .../jdbc/DataSourceInstrumentation.java | 2 +- .../jdbc/DriverInstrumentation.java | 2 +- .../PreparedStatementInstrumentation.java | 2 +- .../jdbc/StatementInstrumentation.java | 2 +- .../jetty8/JettyHandlerInstrumentation.java | 2 +- .../JMSMessageConsumerInstrumentation.java | 2 +- .../JMSMessageListenerInstrumentation.java | 2 +- .../JMSMessageProducerInstrumentation.java | 2 +- .../jsp/JSPInstrumentation.java | 2 +- .../ChannelFutureListenerInstrumentation.java | 2 +- .../NettyChannelPipelineInstrumentation.java | 2 +- .../ChannelFutureListenerInstrumentation.java | 2 +- .../NettyChannelPipelineInstrumentation.java | 2 +- .../play24/PlayInstrumentation.java | 2 +- .../play26/PlayInstrumentation.java | 2 +- .../playws1/PlayWSClientInstrumentation.java | 2 +- .../playws21/PlayWSClientInstrumentation.java | 2 +- .../playws2/PlayWSClientInstrumentation.java | 2 +- .../amqp/RabbitChannelInstrumentation.java | 2 +- .../amqp/RabbitCommandInstrumentation.java | 2 +- .../ratpack/ContinuationInstrumentation.java | 2 +- .../ServerErrorHandlerInstrumentation.java | 2 +- .../core/FluxAndMonoInstrumentation.java | 2 +- .../rmi/client/RmiClientInstrumentation.java | 2 +- .../RmiClientContextInstrumentation.java | 2 +- .../RmiServerContextInstrumentation.java | 2 +- .../rmi/server/RmiServerInstrumentation.java | 2 +- .../servlet2/Servlet2Instrumentation.java | 2 +- .../servlet3/AsyncContextInstrumentation.java | 2 +- .../servlet3/Servlet3Instrumentation.java | 2 +- .../RequestDispatcherInstrumentation.java | 2 +- .../ServletContextInstrumentation.java | 2 +- .../servlet/filter/FilterInstrumentation.java | 2 +- .../http/HttpServletInstrumentation.java | 2 +- .../HttpServletResponseInstrumentation.java | 2 +- .../DefaultWebClientInstrumentation.java | 2 +- .../server/HandlerAdapterInstrumentation.java | 2 +- .../server/RouterFunctionInstrumentation.java | 2 +- .../HandlerAdapterInstrumentation.java | 2 +- .../TraceAnnotationsInstrumentation.java | 2 +- .../TraceConfigInstrumentation.java | 6 +- .../twilio/TwilioAsyncInstrumentation.java | 2 +- .../twilio/TwilioSyncInstrumentation.java | 2 +- 97 files changed, 535 insertions(+), 493 deletions(-) delete mode 100644 dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/ByteBuddyElementMatchers.java rename dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/{ => bytebuddy}/DDCachingPoolStrategy.java (99%) rename dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/{ => bytebuddy}/DDLocationStrategy.java (93%) rename dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/{ => bytebuddy}/DDTransformers.java (73%) create mode 100644 dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/DDElementMatchers.java create mode 100644 dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcher.java create mode 100644 dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeErasureMatcher.java create mode 100644 dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcher.java create mode 100644 dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcher.java create mode 100644 dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeMatcher.java diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentTooling.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentTooling.java index e6b302ae89..bd98181a71 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentTooling.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentTooling.java @@ -1,5 +1,7 @@ package datadog.trace.agent.tooling; +import datadog.trace.agent.tooling.bytebuddy.DDCachingPoolStrategy; +import datadog.trace.agent.tooling.bytebuddy.DDLocationStrategy; import datadog.trace.bootstrap.WeakMap; /** diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/ByteBuddyElementMatchers.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/ByteBuddyElementMatchers.java deleted file mode 100644 index 4270c2d1d1..0000000000 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/ByteBuddyElementMatchers.java +++ /dev/null @@ -1,393 +0,0 @@ -package datadog.trace.agent.tooling; - -import static net.bytebuddy.matcher.ElementMatchers.hasSignature; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; -import lombok.extern.slf4j.Slf4j; -import net.bytebuddy.build.HashCodeAndEqualsPlugin; -import net.bytebuddy.description.method.MethodDescription; -import net.bytebuddy.description.type.TypeDefinition; -import net.bytebuddy.description.type.TypeDescription; -import net.bytebuddy.description.type.TypeList; -import net.bytebuddy.matcher.ElementMatcher; -import net.bytebuddy.matcher.ElementMatchers; - -/** - * This class provides some custom ByteBuddy element matchers to use when applying instrumentation - */ -@Slf4j -public class ByteBuddyElementMatchers { - - public static ElementMatcher.Junction safeExtendsClass( - final ElementMatcher matcher) { - return new SafeExtendsClassMatcher<>(new SafeErasureMatcher<>(matcher)); - } - - public static ElementMatcher.Junction safeHasInterface( - final ElementMatcher matcher) { - return new SafeHasSuperTypeMatcher<>(new SafeErasureMatcher<>(matcher), true); - } - - /** - * Matches any type description that declares a super type that matches the provided matcher. - * Exceptions during matching process are logged and ignored. - * - * @param matcher The type to be checked for being a super type of the matched type. - * @param The type of the matched object. - * @return A matcher that matches any type description that declares a super type that matches the - * provided matcher. - * @see ElementMatchers#hasSuperType(net.bytebuddy.matcher.ElementMatcher) - */ - public static ElementMatcher.Junction safeHasSuperType( - final ElementMatcher matcher) { - return new SafeHasSuperTypeMatcher<>(new SafeErasureMatcher<>(matcher), false); - } - - /** - * Wraps another matcher to assure that an element is not matched in case that the matching causes - * an {@link Exception}. Logs exception if it happens. - * - * @param matcher The element matcher that potentially throws an exception. - * @param The type of the matched object. - * @return A matcher that returns {@code false} in case that the given matcher throws an - * exception. - */ - public static ElementMatcher.Junction failSafe( - final ElementMatcher matcher, final String description) { - return new SafeMatcher<>(matcher, false, description); - } - - private static TypeDescription safeAsErasure(final TypeDefinition typeDefinition) { - try { - return typeDefinition.asErasure(); - } catch (final Exception e) { - log.debug( - "{} trying to get erasure for target {}: {}", - e.getClass().getSimpleName(), - safeTypeDefinitionName(typeDefinition), - e.getMessage()); - return null; - } - } - - /** - * An element matcher that matches a super type. This is different from {@link - * net.bytebuddy.matcher.HasSuperTypeMatcher} in the following way: - * - *
    - *
  • Exceptions are logged - *
  • When exception happens the rest of the inheritance subtree is discarded (since ByteBuddy - * cannot load/parse type information for it) but search in other subtrees continues - *
- * - *

This is useful because this allows us to see when matcher's check is not complete (i.e. part - * of it fails), at the same time it makes best effort instead of failing quickly (like {@code - * failSafe(hasSuperType(...))} does) which means the code is more resilient to classpath - * inconsistencies - * - * @param The type of the matched entity. - * @see net.bytebuddy.matcher.HasSuperTypeMatcher - */ - @HashCodeAndEqualsPlugin.Enhance - private static class SafeHasSuperTypeMatcher - extends ElementMatcher.Junction.AbstractBase { - - /** The matcher to apply to any super type of the matched type. */ - private final ElementMatcher matcher; - - private final boolean interfacesOnly; - /** - * Creates a new matcher for a super type. - * - * @param matcher The matcher to apply to any super type of the matched type. - */ - public SafeHasSuperTypeMatcher( - final ElementMatcher matcher, - final boolean interfacesOnly) { - this.matcher = matcher; - this.interfacesOnly = interfacesOnly; - } - - @Override - public boolean matches(final T target) { - final Set checkedInterfaces = new HashSet<>(); - // We do not use foreach loop and iterator interface here because we need to catch exceptions - // in {@code getSuperClass} calls - TypeDefinition typeDefinition = target; - while (typeDefinition != null) { - if (((!interfacesOnly || typeDefinition.isInterface()) - && matcher.matches(typeDefinition.asGenericType())) - || hasInterface(typeDefinition, checkedInterfaces)) { - return true; - } - typeDefinition = safeGetSuperClass(typeDefinition); - } - return false; - } - - /** - * Matches a type's interfaces against the provided matcher. - * - * @param typeDefinition The type for which to check all implemented interfaces. - * @param checkedInterfaces The interfaces that have already been checked. - * @return {@code true} if any interface matches the supplied matcher. - */ - private boolean hasInterface( - final TypeDefinition typeDefinition, final Set checkedInterfaces) { - for (final TypeDefinition interfaceType : safeGetInterfaces(typeDefinition)) { - final TypeDescription erasure = safeAsErasure(interfaceType); - if (erasure != null) { - if (checkedInterfaces.add(interfaceType.asErasure()) - && (matcher.matches(interfaceType.asGenericType()) - || hasInterface(interfaceType, checkedInterfaces))) { - return true; - } - } - } - return false; - } - - /** - * TypeDefinition#getInterfaces() produces an interator which may throw an exception during - * iteration if an interface is absent from the classpath. - * - *

This method exists to allow getting interfaces even if the lookup on one fails. - */ - private List safeGetInterfaces(final TypeDefinition typeDefinition) { - final List interfaceTypes = new ArrayList<>(); - try { - final Iterator interfaceIter = - typeDefinition.getInterfaces().iterator(); - while (interfaceIter.hasNext()) { - interfaceTypes.add(interfaceIter.next()); - } - } catch (final Exception e) { - log.debug( - "{} trying to get interfaces for target {}: {}", - e.getClass().getSimpleName(), - safeTypeDefinitionName(typeDefinition), - e.getMessage()); - } - return interfaceTypes; - } - - @Override - public String toString() { - return "safeHasSuperType(" + matcher + ")"; - } - } - - /** - * An element matcher that matches its argument's {@link TypeDescription.Generic} raw type against - * the given matcher for a {@link TypeDescription}. As a wildcard does not define an erasure, a - * runtime exception is thrown when this matcher is applied to a wildcard. - * - *

Catches and logs exception if it was thrown when getting erasure, returning false. - * - * @param The type of the matched entity. - * @see net.bytebuddy.matcher.ErasureMatcher - */ - @HashCodeAndEqualsPlugin.Enhance - private static class SafeErasureMatcher - extends ElementMatcher.Junction.AbstractBase { - - /** The matcher to apply to the raw type of the matched element. */ - private final ElementMatcher matcher; - - /** - * Creates a new erasure matcher. - * - * @param matcher The matcher to apply to the raw type. - */ - public SafeErasureMatcher(final ElementMatcher matcher) { - this.matcher = matcher; - } - - @Override - public boolean matches(final T target) { - final TypeDescription erasure = safeAsErasure(target); - if (erasure == null) { - return false; - } else { - // We would like matcher exceptions to propagate - return matcher.matches(erasure); - } - } - - @Override - public String toString() { - return "safeErasure(" + matcher + ")"; - } - } - - /** - * A fail-safe matcher catches exceptions that are thrown by a delegate matcher and returns an - * alternative value. - * - *

Logs exception if it was thrown. - * - * @param The type of the matched entity. - * @see net.bytebuddy.matcher.FailSafeMatcher - */ - @HashCodeAndEqualsPlugin.Enhance - private static class SafeMatcher extends ElementMatcher.Junction.AbstractBase { - - /** The delegate matcher that might throw an exception. */ - private final ElementMatcher matcher; - - /** The fallback value in case of an exception. */ - private final boolean fallback; - - /** The text description to log if exception happens. */ - private final String description; - - /** - * Creates a new fail-safe element matcher. - * - * @param matcher The delegate matcher that might throw an exception. - * @param fallback The fallback value in case of an exception. - * @param description Descriptive string to log along with exception. - */ - public SafeMatcher( - final ElementMatcher matcher, final boolean fallback, final String description) { - this.matcher = matcher; - this.fallback = fallback; - this.description = description; - } - - @Override - public boolean matches(final T target) { - try { - return matcher.matches(target); - } catch (final Exception e) { - log.debug(description, e); - return fallback; - } - } - - @Override - public String toString() { - return "safeMatcher(try(" + matcher + ") or " + fallback + ")"; - } - } - - private static String safeTypeDefinitionName(final TypeDefinition td) { - try { - return td.getTypeName(); - } catch (final IllegalStateException ex) { - final String message = ex.getMessage(); - if (message.startsWith("Cannot resolve type description for ")) { - return message.replace("Cannot resolve type description for ", ""); - } else { - return "?"; - } - } - } - - // TODO: add javadoc - public static ElementMatcher.Junction hasSuperMethod( - final ElementMatcher matcher) { - return new HasSuperMethodMatcher<>(matcher); - } - - // TODO: add javadoc - @HashCodeAndEqualsPlugin.Enhance - private static class HasSuperMethodMatcher - extends ElementMatcher.Junction.AbstractBase { - - private final ElementMatcher matcher; - - public HasSuperMethodMatcher(final ElementMatcher matcher) { - this.matcher = matcher; - } - - @Override - public boolean matches(final MethodDescription target) { - if (target.isConstructor()) { - return false; - } - final Junction signatureMatcher = hasSignature(target.asSignatureToken()); - TypeDefinition declaringType = target.getDeclaringType(); - final Set checkedInterfaces = new HashSet<>(); - - while (declaringType != null) { - for (final MethodDescription methodDescription : declaringType.getDeclaredMethods()) { - if (signatureMatcher.matches(methodDescription) && matcher.matches(methodDescription)) { - return true; - } - } - if (matchesInterface(declaringType.getInterfaces(), signatureMatcher, checkedInterfaces)) { - return true; - } - declaringType = safeGetSuperClass(declaringType); - } - return false; - } - - private boolean matchesInterface( - final TypeList.Generic interfaces, - final Junction signatureMatcher, - final Set checkedInterfaces) { - for (final TypeDefinition type : interfaces) { - if (!checkedInterfaces.contains(type)) { - checkedInterfaces.add(type); - for (final MethodDescription methodDescription : type.getDeclaredMethods()) { - if (signatureMatcher.matches(methodDescription) && matcher.matches(methodDescription)) { - return true; - } - } - if (matchesInterface(type.getInterfaces(), signatureMatcher, checkedInterfaces)) { - return true; - } - } - } - return false; - } - - @Override - public String toString() { - return "hasSuperMethodMatcher(" + matcher + ")"; - } - } - - private static TypeDefinition safeGetSuperClass(final TypeDefinition typeDefinition) { - try { - return typeDefinition.getSuperClass(); - } catch (final Exception e) { - log.debug( - "{} trying to get super class for target {}: {}", - e.getClass().getSimpleName(), - safeTypeDefinitionName(typeDefinition), - e.getMessage()); - return null; - } - } - - private static class SafeExtendsClassMatcher - extends ElementMatcher.Junction.AbstractBase { - - private final ElementMatcher matcher; - - public SafeExtendsClassMatcher(final ElementMatcher matcher) { - this.matcher = matcher; - } - - @Override - public boolean matches(final T target) { - // We do not use foreach loop and iterator interface here because we need to catch exceptions - // in {@code getSuperClass} calls - TypeDefinition typeDefinition = target; - while (typeDefinition != null) { - if (matcher.matches(typeDefinition.asGenericType())) { - return true; - } - typeDefinition = safeGetSuperClass(typeDefinition); - } - return false; - } - } -} diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java index 9f4975f10d..26550e07d0 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java @@ -1,11 +1,12 @@ package datadog.trace.agent.tooling; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.failSafe; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.failSafe; import static net.bytebuddy.matcher.ElementMatchers.any; import static net.bytebuddy.matcher.ElementMatchers.isAnnotatedWith; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.not; +import datadog.trace.agent.tooling.bytebuddy.DDTransformers; import datadog.trace.agent.tooling.context.FieldBackedProvider; import datadog.trace.agent.tooling.context.InstrumentationContextProvider; import datadog.trace.agent.tooling.context.NoopContextProvider; diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/DDCachingPoolStrategy.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDCachingPoolStrategy.java similarity index 99% rename from dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/DDCachingPoolStrategy.java rename to dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDCachingPoolStrategy.java index 1d4cccdb35..7d01e81b5a 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/DDCachingPoolStrategy.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDCachingPoolStrategy.java @@ -1,4 +1,4 @@ -package datadog.trace.agent.tooling; +package datadog.trace.agent.tooling.bytebuddy; import static net.bytebuddy.agent.builder.AgentBuilder.PoolStrategy; diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/DDLocationStrategy.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDLocationStrategy.java similarity index 93% rename from dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/DDLocationStrategy.java rename to dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDLocationStrategy.java index 7a9ce42179..a3ec740f9d 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/DDLocationStrategy.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDLocationStrategy.java @@ -1,5 +1,6 @@ -package datadog.trace.agent.tooling; +package datadog.trace.agent.tooling.bytebuddy; +import datadog.trace.agent.tooling.Utils; import java.util.ArrayList; import java.util.List; import net.bytebuddy.agent.builder.AgentBuilder; diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/DDTransformers.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDTransformers.java similarity index 73% rename from dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/DDTransformers.java rename to dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDTransformers.java index fe4bc25d32..e50ca8d3c9 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/DDTransformers.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDTransformers.java @@ -1,4 +1,4 @@ -package datadog.trace.agent.tooling; +package datadog.trace.agent.tooling.bytebuddy; import net.bytebuddy.agent.builder.AgentBuilder; import net.bytebuddy.asm.TypeConstantAdjustment; @@ -12,10 +12,10 @@ public class DDTransformers { new AgentBuilder.Transformer() { @Override public DynamicType.Builder transform( - DynamicType.Builder builder, - TypeDescription typeDescription, - ClassLoader classLoader, - JavaModule javaModule) { + final DynamicType.Builder builder, + final TypeDescription typeDescription, + final ClassLoader classLoader, + final JavaModule javaModule) { return builder.visit(TypeConstantAdjustment.INSTANCE); } }; diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/DDElementMatchers.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/DDElementMatchers.java new file mode 100644 index 0000000000..5f3eb899cc --- /dev/null +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/DDElementMatchers.java @@ -0,0 +1,72 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher; + +import lombok.extern.slf4j.Slf4j; +import net.bytebuddy.description.method.MethodDescription; +import net.bytebuddy.description.type.TypeDefinition; +import net.bytebuddy.description.type.TypeDescription; +import net.bytebuddy.matcher.ElementMatcher; +import net.bytebuddy.matcher.ElementMatchers; + +/** + * This class provides some custom ByteBuddy element matchers to use when applying instrumentation + */ +@Slf4j +public class DDElementMatchers { + + public static ElementMatcher.Junction safeExtendsClass( + final ElementMatcher matcher) { + return new SafeExtendsClassMatcher<>(new SafeErasureMatcher<>(matcher)); + } + + public static ElementMatcher.Junction safeHasInterface( + final ElementMatcher matcher) { + return new SafeHasSuperTypeMatcher<>(new SafeErasureMatcher<>(matcher), true); + } + + /** + * Matches any type description that declares a super type that matches the provided matcher. + * Exceptions during matching process are logged and ignored. + * + * @param matcher The type to be checked for being a super type of the matched type. + * @param The type of the matched object. + * @return A matcher that matches any type description that declares a super type that matches the + * provided matcher. + * @see ElementMatchers#hasSuperType(net.bytebuddy.matcher.ElementMatcher) + */ + public static ElementMatcher.Junction safeHasSuperType( + final ElementMatcher matcher) { + return new SafeHasSuperTypeMatcher<>(new SafeErasureMatcher<>(matcher), false); + } + // TODO: add javadoc + public static ElementMatcher.Junction hasSuperMethod( + final ElementMatcher matcher) { + return new HasSuperMethodMatcher<>(matcher); + } + + /** + * Wraps another matcher to assure that an element is not matched in case that the matching causes + * an {@link Exception}. Logs exception if it happens. + * + * @param matcher The element matcher that potentially throws an exception. + * @param The type of the matched object. + * @return A matcher that returns {@code false} in case that the given matcher throws an + * exception. + */ + public static ElementMatcher.Junction failSafe( + final ElementMatcher matcher, final String description) { + return new SafeMatcher<>(matcher, false, description); + } + + static String safeTypeDefinitionName(final TypeDefinition td) { + try { + return td.getTypeName(); + } catch (final IllegalStateException ex) { + final String message = ex.getMessage(); + if (message.startsWith("Cannot resolve type description for ")) { + return message.replace("Cannot resolve type description for ", ""); + } else { + return "?"; + } + } + } +} diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcher.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcher.java new file mode 100644 index 0000000000..51ff6e81f4 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcher.java @@ -0,0 +1,71 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher; + +import static net.bytebuddy.matcher.ElementMatchers.hasSignature; + +import java.util.HashSet; +import java.util.Set; +import net.bytebuddy.build.HashCodeAndEqualsPlugin; +import net.bytebuddy.description.method.MethodDescription; +import net.bytebuddy.description.type.TypeDefinition; +import net.bytebuddy.description.type.TypeList; +import net.bytebuddy.matcher.ElementMatcher; + +// TODO: add javadoc +@HashCodeAndEqualsPlugin.Enhance +class HasSuperMethodMatcher + extends ElementMatcher.Junction.AbstractBase { + + private final ElementMatcher matcher; + + public HasSuperMethodMatcher(final ElementMatcher matcher) { + this.matcher = matcher; + } + + @Override + public boolean matches(final MethodDescription target) { + if (target.isConstructor()) { + return false; + } + final Junction signatureMatcher = hasSignature(target.asSignatureToken()); + TypeDefinition declaringType = target.getDeclaringType(); + final Set checkedInterfaces = new HashSet<>(); + + while (declaringType != null) { + for (final MethodDescription methodDescription : declaringType.getDeclaredMethods()) { + if (signatureMatcher.matches(methodDescription) && matcher.matches(methodDescription)) { + return true; + } + } + if (matchesInterface(declaringType.getInterfaces(), signatureMatcher, checkedInterfaces)) { + return true; + } + declaringType = DDElementMatchers.safeGetSuperClass(declaringType); + } + return false; + } + + private boolean matchesInterface( + final TypeList.Generic interfaces, + final Junction signatureMatcher, + final Set checkedInterfaces) { + for (final TypeDefinition type : interfaces) { + if (!checkedInterfaces.contains(type)) { + checkedInterfaces.add(type); + for (final MethodDescription methodDescription : type.getDeclaredMethods()) { + if (signatureMatcher.matches(methodDescription) && matcher.matches(methodDescription)) { + return true; + } + } + if (matchesInterface(type.getInterfaces(), signatureMatcher, checkedInterfaces)) { + return true; + } + } + } + return false; + } + + @Override + public String toString() { + return "hasSuperMethodMatcher(" + matcher + ")"; + } +} diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeErasureMatcher.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeErasureMatcher.java new file mode 100644 index 0000000000..29430da3ed --- /dev/null +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeErasureMatcher.java @@ -0,0 +1,65 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher; + +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeTypeDefinitionName; + +import lombok.extern.slf4j.Slf4j; +import net.bytebuddy.build.HashCodeAndEqualsPlugin; +import net.bytebuddy.description.type.TypeDefinition; +import net.bytebuddy.description.type.TypeDescription; +import net.bytebuddy.matcher.ElementMatcher; + +/** + * An element matcher that matches its argument's {@link TypeDescription.Generic} raw type against + * the given matcher for a {@link TypeDescription}. As a wildcard does not define an erasure, a + * runtime exception is thrown when this matcher is applied to a wildcard. + * + *

Catches and logs exception if it was thrown when getting erasure, returning false. + * + * @param The type of the matched entity. + * @see net.bytebuddy.matcher.ErasureMatcher + */ +@Slf4j +@HashCodeAndEqualsPlugin.Enhance +class SafeErasureMatcher extends ElementMatcher.Junction.AbstractBase { + + /** The matcher to apply to the raw type of the matched element. */ + private final ElementMatcher matcher; + + /** + * Creates a new erasure matcher. + * + * @param matcher The matcher to apply to the raw type. + */ + public SafeErasureMatcher(final ElementMatcher matcher) { + this.matcher = matcher; + } + + @Override + public boolean matches(final T target) { + final TypeDescription erasure = safeAsErasure(target); + if (erasure == null) { + return false; + } else { + // We would like matcher exceptions to propagate + return matcher.matches(erasure); + } + } + + @Override + public String toString() { + return "safeErasure(" + matcher + ")"; + } + + static TypeDescription safeAsErasure(final TypeDefinition typeDefinition) { + try { + return typeDefinition.asErasure(); + } catch (final Exception e) { + log.debug( + "{} trying to get erasure for target {}: {}", + e.getClass().getSimpleName(), + safeTypeDefinitionName(typeDefinition), + e.getMessage()); + return null; + } + } +} diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcher.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcher.java new file mode 100644 index 0000000000..73249a9347 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcher.java @@ -0,0 +1,29 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher; + +import net.bytebuddy.description.type.TypeDefinition; +import net.bytebuddy.description.type.TypeDescription; +import net.bytebuddy.matcher.ElementMatcher; + +class SafeExtendsClassMatcher + extends ElementMatcher.Junction.AbstractBase { + + private final ElementMatcher matcher; + + public SafeExtendsClassMatcher(final ElementMatcher matcher) { + this.matcher = matcher; + } + + @Override + public boolean matches(final T target) { + // We do not use foreach loop and iterator interface here because we need to catch exceptions + // in {@code getSuperClass} calls + TypeDefinition typeDefinition = target; + while (typeDefinition != null) { + if (matcher.matches(typeDefinition.asGenericType())) { + return true; + } + typeDefinition = DDElementMatchers.safeGetSuperClass(typeDefinition); + } + return false; + } +} diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcher.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcher.java new file mode 100644 index 0000000000..c3a0d74f66 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcher.java @@ -0,0 +1,135 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher; + +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeTypeDefinitionName; +import static datadog.trace.agent.tooling.bytebuddy.matcher.SafeErasureMatcher.safeAsErasure; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import lombok.extern.slf4j.Slf4j; +import net.bytebuddy.build.HashCodeAndEqualsPlugin; +import net.bytebuddy.description.type.TypeDefinition; +import net.bytebuddy.description.type.TypeDescription; +import net.bytebuddy.matcher.ElementMatcher; + +/** + * An element matcher that matches a super type. This is different from {@link + * net.bytebuddy.matcher.HasSuperTypeMatcher} in the following way: + * + *

    + *
  • Exceptions are logged + *
  • When exception happens the rest of the inheritance subtree is discarded (since ByteBuddy + * cannot load/parse type information for it) but search in other subtrees continues + *
+ * + *

This is useful because this allows us to see when matcher's check is not complete (i.e. part + * of it fails), at the same time it makes best effort instead of failing quickly (like {@code + * failSafe(hasSuperType(...))} does) which means the code is more resilient to classpath + * inconsistencies + * + * @param The type of the matched entity. + * @see net.bytebuddy.matcher.HasSuperTypeMatcher + */ +@Slf4j +@HashCodeAndEqualsPlugin.Enhance +class SafeHasSuperTypeMatcher + extends ElementMatcher.Junction.AbstractBase { + + /** The matcher to apply to any super type of the matched type. */ + private final ElementMatcher matcher; + + private final boolean interfacesOnly; + /** + * Creates a new matcher for a super type. + * + * @param matcher The matcher to apply to any super type of the matched type. + */ + public SafeHasSuperTypeMatcher( + final ElementMatcher matcher, final boolean interfacesOnly) { + this.matcher = matcher; + this.interfacesOnly = interfacesOnly; + } + + @Override + public boolean matches(final T target) { + final Set checkedInterfaces = new HashSet<>(); + // We do not use foreach loop and iterator interface here because we need to catch exceptions + // in {@code getSuperClass} calls + TypeDefinition typeDefinition = target; + while (typeDefinition != null) { + if (((!interfacesOnly || typeDefinition.isInterface()) + && matcher.matches(typeDefinition.asGenericType())) + || hasInterface(typeDefinition, checkedInterfaces)) { + return true; + } + typeDefinition = safeGetSuperClass(typeDefinition); + } + return false; + } + + /** + * Matches a type's interfaces against the provided matcher. + * + * @param typeDefinition The type for which to check all implemented interfaces. + * @param checkedInterfaces The interfaces that have already been checked. + * @return {@code true} if any interface matches the supplied matcher. + */ + private boolean hasInterface( + final TypeDefinition typeDefinition, final Set checkedInterfaces) { + for (final TypeDefinition interfaceType : safeGetInterfaces(typeDefinition)) { + final TypeDescription erasure = safeAsErasure(interfaceType); + if (erasure != null) { + if (checkedInterfaces.add(interfaceType.asErasure()) + && (matcher.matches(interfaceType.asGenericType()) + || hasInterface(interfaceType, checkedInterfaces))) { + return true; + } + } + } + return false; + } + + /** + * TypeDefinition#getInterfaces() produces an interator which may throw an exception during + * iteration if an interface is absent from the classpath. + * + *

This method exists to allow getting interfaces even if the lookup on one fails. + */ + private List safeGetInterfaces(final TypeDefinition typeDefinition) { + final List interfaceTypes = new ArrayList<>(); + try { + final Iterator interfaceIter = + typeDefinition.getInterfaces().iterator(); + while (interfaceIter.hasNext()) { + interfaceTypes.add(interfaceIter.next()); + } + } catch (final Exception e) { + log.debug( + "{} trying to get interfaces for target {}: {}", + e.getClass().getSimpleName(), + safeTypeDefinitionName(typeDefinition), + e.getMessage()); + } + return interfaceTypes; + } + + static TypeDefinition safeGetSuperClass(final TypeDefinition typeDefinition) { + try { + return typeDefinition.getSuperClass(); + } catch (final Exception e) { + log.debug( + "{} trying to get super class for target {}: {}", + e.getClass().getSimpleName(), + safeTypeDefinitionName(typeDefinition), + e.getMessage()); + return null; + } + } + + @Override + public String toString() { + return "safeHasSuperType(" + matcher + ")"; + } +} diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeMatcher.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeMatcher.java new file mode 100644 index 0000000000..e539bb28d5 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeMatcher.java @@ -0,0 +1,57 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher; + +import lombok.extern.slf4j.Slf4j; +import net.bytebuddy.build.HashCodeAndEqualsPlugin; +import net.bytebuddy.matcher.ElementMatcher; + +/** + * A fail-safe matcher catches exceptions that are thrown by a delegate matcher and returns an + * alternative value. + * + *

Logs exception if it was thrown. + * + * @param The type of the matched entity. + * @see net.bytebuddy.matcher.FailSafeMatcher + */ +@Slf4j +@HashCodeAndEqualsPlugin.Enhance +class SafeMatcher extends ElementMatcher.Junction.AbstractBase { + + /** The delegate matcher that might throw an exception. */ + private final ElementMatcher matcher; + + /** The fallback value in case of an exception. */ + private final boolean fallback; + + /** The text description to log if exception happens. */ + private final String description; + + /** + * Creates a new fail-safe element matcher. + * + * @param matcher The delegate matcher that might throw an exception. + * @param fallback The fallback value in case of an exception. + * @param description Descriptive string to log along with exception. + */ + public SafeMatcher( + final ElementMatcher matcher, final boolean fallback, final String description) { + this.matcher = matcher; + this.fallback = fallback; + this.description = description; + } + + @Override + public boolean matches(final T target) { + try { + return matcher.matches(target); + } catch (final Exception e) { + log.debug(description, e); + return fallback; + } + } + + @Override + public String toString() { + return "safeMatcher(try(" + matcher + ") or " + fallback + ")"; + } +} diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/context/FieldBackedProvider.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/context/FieldBackedProvider.java index e3dce626f2..522e8e6cf9 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/context/FieldBackedProvider.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/context/FieldBackedProvider.java @@ -1,7 +1,7 @@ package datadog.trace.agent.tooling.context; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; import static datadog.trace.agent.tooling.ClassLoaderMatcher.BOOTSTRAP_CLASSLOADER; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasSuperType; import static net.bytebuddy.matcher.ElementMatchers.isAnnotatedWith; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/test/ResourceLocatingTest.groovy b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/test/ResourceLocatingTest.groovy index 6b4a33c9d2..ff95afd609 100644 --- a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/test/ResourceLocatingTest.groovy +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/test/ResourceLocatingTest.groovy @@ -1,6 +1,6 @@ package datadog.trace.agent.test -import datadog.trace.agent.tooling.DDLocationStrategy +import datadog.trace.agent.tooling.bytebuddy.DDLocationStrategy import datadog.trace.util.test.DDSpecification import net.bytebuddy.agent.builder.AgentBuilder import spock.lang.Shared diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/CacheProviderTest.groovy b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/CacheProviderTest.groovy index 73d0a1fe19..204c1538b5 100644 --- a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/CacheProviderTest.groovy +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/CacheProviderTest.groovy @@ -1,5 +1,6 @@ package datadog.trace.agent.tooling +import datadog.trace.agent.tooling.bytebuddy.DDCachingPoolStrategy import datadog.trace.util.test.DDSpecification import net.bytebuddy.description.type.TypeDescription import net.bytebuddy.dynamic.ClassFileLocator @@ -204,7 +205,7 @@ class CacheProviderTest extends DDSpecification { } static newClassLoader() { - return new URLClassLoader([] as URL[], (ClassLoader)null) + return new URLClassLoader([] as URL[], (ClassLoader) null) } static newLocator() { @@ -215,7 +216,8 @@ class CacheProviderTest extends DDSpecification { } @Override - void close() throws IOException {} + void close() throws IOException { + } } } } diff --git a/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java b/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java index 0f09146013..167408bbfa 100644 --- a/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java +++ b/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.apachehttpasyncclient; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeScope; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java b/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java index 6d1fcdaf0e..6124f1ad38 100644 --- a/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java +++ b/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.apachehttpasyncclient; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java b/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java index 26d75907c0..f94525959b 100644 --- a/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java +++ b/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.apachehttpclient; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/RequestInstrumentation.java b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/RequestInstrumentation.java index 30ae28e54f..3efca1c94b 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/RequestInstrumentation.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/RequestInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.aws.v0; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsClientInstrumentation.java b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsClientInstrumentation.java index 05e170d605..abe1df2eb0 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsClientInstrumentation.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.aws.v2; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsHttpClientInstrumentation.java b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsHttpClientInstrumentation.java index 709e730391..83d5ae5989 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsHttpClientInstrumentation.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsHttpClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.aws.v2; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeScope; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java b/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java index 087f5c1c63..006867c100 100644 --- a/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java +++ b/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.classloading; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isProtected; diff --git a/dd-java-agent/instrumentation/couchbase-2.6/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseNetworkInstrumentation.java b/dd-java-agent/instrumentation/couchbase-2.6/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseNetworkInstrumentation.java index 41c336c4b0..c47d05e312 100644 --- a/dd-java-agent/instrumentation/couchbase-2.6/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseNetworkInstrumentation.java +++ b/dd-java-agent/instrumentation/couchbase-2.6/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseNetworkInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.couchbase.client; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; diff --git a/dd-java-agent/instrumentation/dropwizard/dropwizard-views/src/main/java/datadog/trace/instrumentation/dropwizard/view/DropwizardViewInstrumentation.java b/dd-java-agent/instrumentation/dropwizard/dropwizard-views/src/main/java/datadog/trace/instrumentation/dropwizard/view/DropwizardViewInstrumentation.java index a9fa6841c8..eee079b08e 100644 --- a/dd-java-agent/instrumentation/dropwizard/dropwizard-views/src/main/java/datadog/trace/instrumentation/dropwizard/view/DropwizardViewInstrumentation.java +++ b/dd-java-agent/instrumentation/dropwizard/dropwizard-views/src/main/java/datadog/trace/instrumentation/dropwizard/view/DropwizardViewInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.dropwizard.view; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/finatra-2.9/src/main/java/datadog/trace/instrumentation/finatra/FinatraInstrumentation.java b/dd-java-agent/instrumentation/finatra-2.9/src/main/java/datadog/trace/instrumentation/finatra/FinatraInstrumentation.java index bbd9d76b63..2b1385ac45 100644 --- a/dd-java-agent/instrumentation/finatra-2.9/src/main/java/datadog/trace/instrumentation/finatra/FinatraInstrumentation.java +++ b/dd-java-agent/instrumentation/finatra-2.9/src/main/java/datadog/trace/instrumentation/finatra/FinatraInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.finatra; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/CriteriaInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/CriteriaInstrumentation.java index 195cfc4cac..7ebe2e5e1c 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/CriteriaInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/CriteriaInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v3_3; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/QueryInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/QueryInstrumentation.java index 63ac466880..6046cb2c36 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/QueryInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/QueryInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v3_3; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; diff --git a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionFactoryInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionFactoryInstrumentation.java index b70c15f046..576c474593 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionFactoryInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionFactoryInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v3_3; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static java.util.Collections.singletonMap; diff --git a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionInstrumentation.java index 8021599141..355f66028e 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v3_3; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static datadog.trace.instrumentation.hibernate.SessionMethodUtils.SCOPE_ONLY_METHODS; import static net.bytebuddy.matcher.ElementMatchers.isInterface; diff --git a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/TransactionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/TransactionInstrumentation.java index 6fe2471bb3..dca5a0671c 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/TransactionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/TransactionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v3_3; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/CriteriaInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/CriteriaInstrumentation.java index c9cf90e9bd..88d5c0896b 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/CriteriaInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/CriteriaInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_0; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/QueryInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/QueryInstrumentation.java index fc7a9c6996..64f65b7621 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/QueryInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/QueryInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_0; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; diff --git a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionFactoryInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionFactoryInstrumentation.java index 4e0ad3cc02..34fbb10543 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionFactoryInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionFactoryInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_0; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static java.util.Collections.singletonMap; diff --git a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionInstrumentation.java index f95612d8b5..493e8226ce 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_0; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static datadog.trace.instrumentation.hibernate.SessionMethodUtils.SCOPE_ONLY_METHODS; import static net.bytebuddy.matcher.ElementMatchers.isInterface; diff --git a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/TransactionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/TransactionInstrumentation.java index cd5425952d..f7a0101066 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/TransactionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/TransactionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_0; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/ProcedureCallInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/ProcedureCallInstrumentation.java index a35576b82e..5c86cbfaf4 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/ProcedureCallInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/ProcedureCallInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_3; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/SessionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/SessionInstrumentation.java index d58dbdea38..a588f57ace 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/SessionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/SessionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_3; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java index 56ad22250b..487557dc87 100644 --- a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java +++ b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.http_url_connection; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixInstrumentation.java b/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixInstrumentation.java index 7939b2846b..8c2f6f98be 100644 --- a/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixInstrumentation.java +++ b/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hystrix; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.instrumentation.hystrix.HystrixDecorator.DECORATE; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.returns; diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AbstractExecutorInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AbstractExecutorInstrumentation.java index a7f52c27ae..f0d1ba63ed 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AbstractExecutorInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AbstractExecutorInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.not; diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AkkaForkJoinTaskInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AkkaForkJoinTaskInstrumentation.java index 26380bc20e..de090aab89 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AkkaForkJoinTaskInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AkkaForkJoinTaskInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isInterface; diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java index 334ccf081f..c53712c7b6 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeScope; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.noopSpan; diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java index 11e67055b4..4aec13e1e6 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/JavaForkJoinTaskInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/JavaForkJoinTaskInstrumentation.java index 1ac50be415..d75ad08ee2 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/JavaForkJoinTaskInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/JavaForkJoinTaskInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/RunnableCallableInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/RunnableCallableInstrumentation.java index e17bfc8b94..dd131432f3 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/RunnableCallableInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/RunnableCallableInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ScalaForkJoinTaskInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ScalaForkJoinTaskInstrumentation.java index f0c9fabf8d..dd3257c862 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ScalaForkJoinTaskInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ScalaForkJoinTaskInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/dd-java-agent/instrumentation/jax-rs-annotations-1/src/main/java/datadog/trace/instrumentation/jaxrs1/JaxRsAnnotationsInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-annotations-1/src/main/java/datadog/trace/instrumentation/jaxrs1/JaxRsAnnotationsInstrumentation.java index 95c2421b02..6250c78dbe 100644 --- a/dd-java-agent/instrumentation/jax-rs-annotations-1/src/main/java/datadog/trace/instrumentation/jaxrs1/JaxRsAnnotationsInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-annotations-1/src/main/java/datadog/trace/instrumentation/jaxrs1/JaxRsAnnotationsInstrumentation.java @@ -1,8 +1,8 @@ package datadog.trace.instrumentation.jaxrs1; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.hasSuperMethod; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasSuperMethod; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasSuperType; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/AbstractRequestContextInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/AbstractRequestContextInstrumentation.java index 22339c70cb..eeefd496be 100644 --- a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/AbstractRequestContextInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/AbstractRequestContextInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jaxrs2; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/ContainerRequestFilterInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/ContainerRequestFilterInstrumentation.java index 5601dbc7c0..f0985009f8 100644 --- a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/ContainerRequestFilterInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/ContainerRequestFilterInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jaxrs2; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAnnotationsInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAnnotationsInstrumentation.java index 58e5811d75..30843bfa9d 100644 --- a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAnnotationsInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAnnotationsInstrumentation.java @@ -1,7 +1,7 @@ package datadog.trace.instrumentation.jaxrs2; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.hasSuperMethod; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasSuperMethod; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasSuperType; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAsyncResponseInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAsyncResponseInstrumentation.java index b5e3a380f8..72400df73b 100644 --- a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAsyncResponseInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAsyncResponseInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jaxrs2; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.instrumentation.jaxrs2.JaxRsAnnotationsDecorator.DECORATE; import static net.bytebuddy.matcher.ElementMatchers.isPublic; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Instrumentation.java b/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Instrumentation.java index 5ad1787f30..6947dfc490 100644 --- a/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Instrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Instrumentation.java @@ -1,8 +1,8 @@ package datadog.trace.instrumentation.jaxrs.v1; import static datadog.trace.agent.decorator.HttpServerDecorator.DD_SPAN_ATTRIBUTE; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java index ce2b8dd453..8972ed1175 100644 --- a/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java @@ -1,7 +1,7 @@ package datadog.trace.instrumentation.jaxrs; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.returns; diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java index 7b2b2fc670..5fef9d4846 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jdbc; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DataSourceInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DataSourceInstrumentation.java index 0fdc695dc0..5b12b209c3 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DataSourceInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DataSourceInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jdbc; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DriverInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DriverInstrumentation.java index 53c3d017e2..d56f9a049a 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DriverInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DriverInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jdbc; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java index 0e4f413b33..7dcaf961c9 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jdbc; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.jdbc.JDBCDecorator.DECORATE; diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java index 25e4782bd0..cf6f15340c 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jdbc; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.jdbc.JDBCDecorator.DECORATE; diff --git a/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/JettyHandlerInstrumentation.java b/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/JettyHandlerInstrumentation.java index 551c728e63..eef4a0841e 100644 --- a/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/JettyHandlerInstrumentation.java +++ b/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/JettyHandlerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jetty8; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; diff --git a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java index 0cb8777531..d60a411822 100644 --- a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jms; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java index 1347d056b4..9c54e26150 100644 --- a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jms; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java index 201be7e3b4..60f129337e 100644 --- a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jms; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java index 1385c1622a..9ab2b8fe68 100644 --- a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java +++ b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jsp; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.jsp.JSPDecorator.DECORATE; diff --git a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java index bb1282dd3a..31eb92fa81 100644 --- a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.netty40; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static java.util.Collections.singletonMap; diff --git a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java index 22dcc87d78..11193bb054 100644 --- a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.netty40; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeScope; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java index 97a61b6f27..6d9eeedbfa 100644 --- a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.netty41; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static java.util.Collections.singletonMap; diff --git a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java index b8903651cf..31474d0041 100644 --- a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.netty41; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeScope; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play24/PlayInstrumentation.java b/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play24/PlayInstrumentation.java index 2bd873f4b0..4315957eed 100644 --- a/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play24/PlayInstrumentation.java +++ b/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play24/PlayInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.play24; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.returns; diff --git a/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/PlayInstrumentation.java b/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/PlayInstrumentation.java index 8c0c24ac70..e994799f0e 100644 --- a/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/PlayInstrumentation.java +++ b/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/PlayInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.play26; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.returns; diff --git a/dd-java-agent/instrumentation/play-ws-1/src/main/java/datadog/trace/instrumentation/playws1/PlayWSClientInstrumentation.java b/dd-java-agent/instrumentation/play-ws-1/src/main/java/datadog/trace/instrumentation/playws1/PlayWSClientInstrumentation.java index ab7371ff6d..9a18756f1a 100644 --- a/dd-java-agent/instrumentation/play-ws-1/src/main/java/datadog/trace/instrumentation/playws1/PlayWSClientInstrumentation.java +++ b/dd-java-agent/instrumentation/play-ws-1/src/main/java/datadog/trace/instrumentation/playws1/PlayWSClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.playws1; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.playws1.HeadersInjectAdapter.SETTER; diff --git a/dd-java-agent/instrumentation/play-ws-2.1/src/main/java/datadog/trace/instrumentation/playws21/PlayWSClientInstrumentation.java b/dd-java-agent/instrumentation/play-ws-2.1/src/main/java/datadog/trace/instrumentation/playws21/PlayWSClientInstrumentation.java index 04adcfd040..8082a05cd6 100644 --- a/dd-java-agent/instrumentation/play-ws-2.1/src/main/java/datadog/trace/instrumentation/playws21/PlayWSClientInstrumentation.java +++ b/dd-java-agent/instrumentation/play-ws-2.1/src/main/java/datadog/trace/instrumentation/playws21/PlayWSClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.playws21; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.playws21.HeadersInjectAdapter.SETTER; diff --git a/dd-java-agent/instrumentation/play-ws-2/src/main/java/datadog/trace/instrumentation/playws2/PlayWSClientInstrumentation.java b/dd-java-agent/instrumentation/play-ws-2/src/main/java/datadog/trace/instrumentation/playws2/PlayWSClientInstrumentation.java index 8ac3b77473..a4b9f518a6 100644 --- a/dd-java-agent/instrumentation/play-ws-2/src/main/java/datadog/trace/instrumentation/playws2/PlayWSClientInstrumentation.java +++ b/dd-java-agent/instrumentation/play-ws-2/src/main/java/datadog/trace/instrumentation/playws2/PlayWSClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.playws2; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.playws2.HeadersInjectAdapter.SETTER; diff --git a/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitChannelInstrumentation.java b/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitChannelInstrumentation.java index 63c0278f22..39d7a647ac 100644 --- a/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitChannelInstrumentation.java +++ b/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitChannelInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rabbitmq.amqp; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.noopSpan; diff --git a/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitCommandInstrumentation.java b/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitCommandInstrumentation.java index 9ea2907480..b8fb532cb6 100644 --- a/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitCommandInstrumentation.java +++ b/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitCommandInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rabbitmq.amqp; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.instrumentation.rabbitmq.amqp.RabbitDecorator.DECORATE; import static java.util.Collections.singletonMap; diff --git a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ContinuationInstrumentation.java b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ContinuationInstrumentation.java index 612b845397..a6b44cb45c 100644 --- a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ContinuationInstrumentation.java +++ b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ContinuationInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.ratpack; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; diff --git a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java index d95992f630..4a0c553ffd 100644 --- a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java +++ b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.ratpack; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isInterface; diff --git a/dd-java-agent/instrumentation/reactor-core-3.1/src/main/java/datadog/trace/instrumentation/reactor/core/FluxAndMonoInstrumentation.java b/dd-java-agent/instrumentation/reactor-core-3.1/src/main/java/datadog/trace/instrumentation/reactor/core/FluxAndMonoInstrumentation.java index 75c1f287ae..b58b464caf 100644 --- a/dd-java-agent/instrumentation/reactor-core-3.1/src/main/java/datadog/trace/instrumentation/reactor/core/FluxAndMonoInstrumentation.java +++ b/dd-java-agent/instrumentation/reactor-core-3.1/src/main/java/datadog/trace/instrumentation/reactor/core/FluxAndMonoInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.reactor.core; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/client/RmiClientInstrumentation.java b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/client/RmiClientInstrumentation.java index 645e7210c7..bbee6a185a 100644 --- a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/client/RmiClientInstrumentation.java +++ b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/client/RmiClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rmi.client; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java index 2f48f050fc..08b0fdeaaf 100644 --- a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java +++ b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rmi.context.client; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.instrumentation.rmi.context.ContextPropagator.PROPAGATOR; import static java.util.Collections.singletonMap; diff --git a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/server/RmiServerContextInstrumentation.java b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/server/RmiServerContextInstrumentation.java index 3cc6cb2d4d..aa4413085a 100644 --- a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/server/RmiServerContextInstrumentation.java +++ b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/server/RmiServerContextInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rmi.context.server; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.instrumentation.rmi.context.ContextPropagator.DD_CONTEXT_CALL_ID; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; diff --git a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/server/RmiServerInstrumentation.java b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/server/RmiServerInstrumentation.java index 68f09d720b..c20210aa90 100644 --- a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/server/RmiServerInstrumentation.java +++ b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/server/RmiServerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rmi.server; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.bootstrap.instrumentation.rmi.ThreadLocalContext.THREAD_LOCAL_CONTEXT; diff --git a/dd-java-agent/instrumentation/servlet/request-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Instrumentation.java b/dd-java-agent/instrumentation/servlet/request-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Instrumentation.java index 8490d7a237..a3f1e2994e 100644 --- a/dd-java-agent/instrumentation/servlet/request-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Instrumentation.java +++ b/dd-java-agent/instrumentation/servlet/request-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Instrumentation.java @@ -1,7 +1,7 @@ package datadog.trace.instrumentation.servlet2; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasSuperType; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; diff --git a/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/AsyncContextInstrumentation.java b/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/AsyncContextInstrumentation.java index cccde3a85c..2bba9da497 100644 --- a/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/AsyncContextInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/AsyncContextInstrumentation.java @@ -1,7 +1,7 @@ package datadog.trace.instrumentation.servlet3; import static datadog.trace.agent.decorator.HttpServerDecorator.DD_SPAN_ATTRIBUTE; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.instrumentation.servlet3.HttpServletRequestInjectAdapter.SETTER; import static java.util.Collections.singletonMap; diff --git a/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Instrumentation.java b/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Instrumentation.java index 42c982b169..1a9fa58ff6 100644 --- a/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Instrumentation.java +++ b/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/Servlet3Instrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.servlet3; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasSuperType; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; diff --git a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentation.java b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentation.java index 3c520bafca..763468e982 100644 --- a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentation.java @@ -1,7 +1,7 @@ package datadog.trace.instrumentation.servlet.dispatcher; import static datadog.trace.agent.decorator.HttpServerDecorator.DD_SPAN_ATTRIBUTE; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; diff --git a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/ServletContextInstrumentation.java b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/ServletContextInstrumentation.java index 5d6aa9eed6..ed741c0451 100644 --- a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/ServletContextInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/ServletContextInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.servlet.dispatcher; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; diff --git a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/filter/FilterInstrumentation.java b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/filter/FilterInstrumentation.java index 357ad29496..9c3ecf4dae 100644 --- a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/filter/FilterInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/filter/FilterInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.servlet.filter; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletInstrumentation.java b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletInstrumentation.java index 4674cb7ec8..b9ca3e60c8 100644 --- a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.servlet.http; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletResponseInstrumentation.java b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletResponseInstrumentation.java index 26a70d0047..ff827122e1 100644 --- a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletResponseInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletResponseInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.servlet.http; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; diff --git a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/client/DefaultWebClientInstrumentation.java b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/client/DefaultWebClientInstrumentation.java index d65723ecfd..74344f80a5 100644 --- a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/client/DefaultWebClientInstrumentation.java +++ b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/client/DefaultWebClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.springwebflux.client; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isPublic; diff --git a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/HandlerAdapterInstrumentation.java b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/HandlerAdapterInstrumentation.java index 0bdfc20121..9c1b1f69fb 100644 --- a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/HandlerAdapterInstrumentation.java +++ b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/HandlerAdapterInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.springwebflux.server; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isInterface; diff --git a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/RouterFunctionInstrumentation.java b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/RouterFunctionInstrumentation.java index 784091456f..8a4c6dca6a 100644 --- a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/RouterFunctionInstrumentation.java +++ b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/RouterFunctionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.springwebflux.server; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isMethod; diff --git a/dd-java-agent/instrumentation/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/HandlerAdapterInstrumentation.java b/dd-java-agent/instrumentation/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/HandlerAdapterInstrumentation.java index a9f79608f5..99490b5cec 100644 --- a/dd-java-agent/instrumentation/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/HandlerAdapterInstrumentation.java +++ b/dd-java-agent/instrumentation/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/HandlerAdapterInstrumentation.java @@ -1,7 +1,7 @@ package datadog.trace.instrumentation.springweb; import static datadog.trace.agent.decorator.HttpServerDecorator.DD_SPAN_ATTRIBUTE; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; diff --git a/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceAnnotationsInstrumentation.java b/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceAnnotationsInstrumentation.java index b557891110..9fa6ad989c 100644 --- a/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceAnnotationsInstrumentation.java +++ b/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceAnnotationsInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.trace_annotation; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasSuperType; import static datadog.trace.instrumentation.trace_annotation.TraceConfigInstrumentation.PACKAGE_CLASS_NAME_REGEX; import static net.bytebuddy.matcher.ElementMatchers.declaresMethod; import static net.bytebuddy.matcher.ElementMatchers.is; diff --git a/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceConfigInstrumentation.java b/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceConfigInstrumentation.java index 5be4930288..e9217453da 100644 --- a/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceConfigInstrumentation.java +++ b/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceConfigInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.trace_annotation; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasSuperType; import static net.bytebuddy.matcher.ElementMatchers.named; import com.google.auto.service.AutoService; @@ -46,8 +46,8 @@ public class TraceConfigInstrumentation implements Instrumenter { private final Map> classMethodsToTrace; - private boolean validateConfigString(String configString) { - for (String segment : configString.split(";")) { + private boolean validateConfigString(final String configString) { + for (final String segment : configString.split(";")) { if (!segment.trim().matches(CONFIG_FORMAT)) { return false; } diff --git a/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioAsyncInstrumentation.java b/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioAsyncInstrumentation.java index c6ee8011fe..d5e24e01fe 100644 --- a/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioAsyncInstrumentation.java +++ b/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioAsyncInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.twilio; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.twilio.TwilioClientDecorator.DECORATE; diff --git a/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioSyncInstrumentation.java b/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioSyncInstrumentation.java index 58223e17a1..86c88bd124 100644 --- a/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioSyncInstrumentation.java +++ b/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioSyncInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.twilio; -import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.twilio.TwilioClientDecorator.DECORATE; From bd82166b581c0bfe813f3e13b2c64cc7c9806a73 Mon Sep 17 00:00:00 2001 From: Tyler Benson Date: Fri, 21 Feb 2020 16:08:46 -0800 Subject: [PATCH 2/4] Rename methods that don't require disambiguation. --- .../tooling/bytebuddy/matcher/DDElementMatchers.java | 6 +++--- .../bytebuddy/matcher/HasSuperMethodMatcher.java | 3 ++- ...{SafeMatcher.java => LoggingFailSafeMatcher.java} | 4 ++-- .../bytebuddy/matcher/SafeExtendsClassMatcher.java | 4 +++- .../ApacheHttpAsyncClientInstrumentation.java | 4 ++-- .../ApacheHttpClientRedirectInstrumentation.java | 4 ++-- .../ApacheHttpClientInstrumentation.java | 4 ++-- .../aws/v0/RequestInstrumentation.java | 4 ++-- .../aws/v2/AwsClientInstrumentation.java | 5 ++--- .../aws/v2/AwsHttpClientInstrumentation.java | 4 ++-- .../classloading/ClassloadingInstrumentation.java | 4 ++-- .../client/CouchbaseNetworkInstrumentation.java | 4 ++-- .../view/DropwizardViewInstrumentation.java | 4 ++-- .../finatra/FinatraInstrumentation.java | 4 ++-- .../hibernate/core/v3_3/CriteriaInstrumentation.java | 4 ++-- .../hibernate/core/v3_3/QueryInstrumentation.java | 4 ++-- .../core/v3_3/SessionFactoryInstrumentation.java | 6 +++--- .../hibernate/core/v3_3/SessionInstrumentation.java | 8 ++++---- .../core/v3_3/TransactionInstrumentation.java | 4 ++-- .../hibernate/core/v4_0/CriteriaInstrumentation.java | 4 ++-- .../hibernate/core/v4_0/QueryInstrumentation.java | 4 ++-- .../core/v4_0/SessionFactoryInstrumentation.java | 4 ++-- .../hibernate/core/v4_0/SessionInstrumentation.java | 8 ++++---- .../core/v4_0/TransactionInstrumentation.java | 4 ++-- .../core/v4_3/ProcedureCallInstrumentation.java | 4 ++-- .../hibernate/core/v4_3/SessionInstrumentation.java | 6 +++--- .../HttpUrlConnectionInstrumentation.java | 4 ++-- .../hystrix/HystrixInstrumentation.java | 4 ++-- .../concurrent/AbstractExecutorInstrumentation.java | 4 ++-- .../concurrent/AkkaForkJoinTaskInstrumentation.java | 4 ++-- .../AsyncPropagatingDisableInstrumentation.java | 4 ++-- .../java/concurrent/FutureInstrumentation.java | 4 ++-- .../concurrent/JavaForkJoinTaskInstrumentation.java | 4 ++-- .../concurrent/RunnableCallableInstrumentation.java | 4 ++-- .../concurrent/ScalaForkJoinTaskInstrumentation.java | 4 ++-- .../AbstractRequestContextInstrumentation.java | 4 ++-- .../ContainerRequestFilterInstrumentation.java | 4 ++-- .../jaxrs2/JaxRsAsyncResponseInstrumentation.java | 4 ++-- .../jaxrs/v1/JaxRsClientV1Instrumentation.java | 12 +++++------- .../jaxrs/JaxRsClientInstrumentation.java | 8 ++++---- .../jdbc/ConnectionInstrumentation.java | 6 +++--- .../jdbc/DataSourceInstrumentation.java | 4 ++-- .../instrumentation/jdbc/DriverInstrumentation.java | 4 ++-- .../jdbc/PreparedStatementInstrumentation.java | 4 ++-- .../jdbc/StatementInstrumentation.java | 4 ++-- .../jetty8/JettyHandlerInstrumentation.java | 4 ++-- .../jms/JMSMessageConsumerInstrumentation.java | 4 ++-- .../jms/JMSMessageListenerInstrumentation.java | 4 ++-- .../jms/JMSMessageProducerInstrumentation.java | 4 ++-- .../instrumentation/jsp/JSPInstrumentation.java | 4 ++-- .../ChannelFutureListenerInstrumentation.java | 5 ++--- .../netty40/NettyChannelPipelineInstrumentation.java | 4 ++-- .../ChannelFutureListenerInstrumentation.java | 5 ++--- .../netty41/NettyChannelPipelineInstrumentation.java | 4 ++-- .../instrumentation/play24/PlayInstrumentation.java | 4 ++-- .../instrumentation/play26/PlayInstrumentation.java | 4 ++-- .../playws1/PlayWSClientInstrumentation.java | 4 ++-- .../playws21/PlayWSClientInstrumentation.java | 4 ++-- .../playws2/PlayWSClientInstrumentation.java | 4 ++-- .../rabbitmq/amqp/RabbitChannelInstrumentation.java | 4 ++-- .../rabbitmq/amqp/RabbitCommandInstrumentation.java | 4 ++-- .../ratpack/ContinuationInstrumentation.java | 4 ++-- .../ratpack/ServerErrorHandlerInstrumentation.java | 4 ++-- .../reactor/core/FluxAndMonoInstrumentation.java | 4 ++-- .../rmi/client/RmiClientInstrumentation.java | 4 ++-- .../client/RmiClientContextInstrumentation.java | 4 ++-- .../server/RmiServerContextInstrumentation.java | 4 ++-- .../rmi/server/RmiServerInstrumentation.java | 4 ++-- .../servlet3/AsyncContextInstrumentation.java | 4 ++-- .../dispatcher/RequestDispatcherInstrumentation.java | 4 ++-- .../dispatcher/ServletContextInstrumentation.java | 4 ++-- .../servlet/filter/FilterInstrumentation.java | 4 ++-- .../servlet/http/HttpServletInstrumentation.java | 4 ++-- .../http/HttpServletResponseInstrumentation.java | 5 ++--- .../client/DefaultWebClientInstrumentation.java | 5 ++--- .../server/HandlerAdapterInstrumentation.java | 4 ++-- .../server/RouterFunctionInstrumentation.java | 4 ++-- .../springweb/HandlerAdapterInstrumentation.java | 4 ++-- .../twilio/TwilioAsyncInstrumentation.java | 4 ++-- .../twilio/TwilioSyncInstrumentation.java | 4 ++-- 80 files changed, 174 insertions(+), 178 deletions(-) rename dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/{SafeMatcher.java => LoggingFailSafeMatcher.java} (93%) diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/DDElementMatchers.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/DDElementMatchers.java index 5f3eb899cc..0762349620 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/DDElementMatchers.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/DDElementMatchers.java @@ -13,12 +13,12 @@ import net.bytebuddy.matcher.ElementMatchers; @Slf4j public class DDElementMatchers { - public static ElementMatcher.Junction safeExtendsClass( + public static ElementMatcher.Junction extendsClass( final ElementMatcher matcher) { return new SafeExtendsClassMatcher<>(new SafeErasureMatcher<>(matcher)); } - public static ElementMatcher.Junction safeHasInterface( + public static ElementMatcher.Junction hasInterface( final ElementMatcher matcher) { return new SafeHasSuperTypeMatcher<>(new SafeErasureMatcher<>(matcher), true); } @@ -54,7 +54,7 @@ public class DDElementMatchers { */ public static ElementMatcher.Junction failSafe( final ElementMatcher matcher, final String description) { - return new SafeMatcher<>(matcher, false, description); + return new LoggingFailSafeMatcher<>(matcher, false, description); } static String safeTypeDefinitionName(final TypeDefinition td) { diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcher.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcher.java index 51ff6e81f4..e0dd0ae66a 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcher.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcher.java @@ -1,5 +1,6 @@ package datadog.trace.agent.tooling.bytebuddy.matcher; +import static datadog.trace.agent.tooling.bytebuddy.matcher.SafeHasSuperTypeMatcher.safeGetSuperClass; import static net.bytebuddy.matcher.ElementMatchers.hasSignature; import java.util.HashSet; @@ -39,7 +40,7 @@ class HasSuperMethodMatcher if (matchesInterface(declaringType.getInterfaces(), signatureMatcher, checkedInterfaces)) { return true; } - declaringType = DDElementMatchers.safeGetSuperClass(declaringType); + declaringType = safeGetSuperClass(declaringType); } return false; } diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeMatcher.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/LoggingFailSafeMatcher.java similarity index 93% rename from dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeMatcher.java rename to dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/LoggingFailSafeMatcher.java index e539bb28d5..3d7552dff3 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeMatcher.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/LoggingFailSafeMatcher.java @@ -15,7 +15,7 @@ import net.bytebuddy.matcher.ElementMatcher; */ @Slf4j @HashCodeAndEqualsPlugin.Enhance -class SafeMatcher extends ElementMatcher.Junction.AbstractBase { +class LoggingFailSafeMatcher extends ElementMatcher.Junction.AbstractBase { /** The delegate matcher that might throw an exception. */ private final ElementMatcher matcher; @@ -33,7 +33,7 @@ class SafeMatcher extends ElementMatcher.Junction.AbstractBase { * @param fallback The fallback value in case of an exception. * @param description Descriptive string to log along with exception. */ - public SafeMatcher( + public LoggingFailSafeMatcher( final ElementMatcher matcher, final boolean fallback, final String description) { this.matcher = matcher; this.fallback = fallback; diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcher.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcher.java index 73249a9347..9438be49e8 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcher.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcher.java @@ -1,5 +1,7 @@ package datadog.trace.agent.tooling.bytebuddy.matcher; +import static datadog.trace.agent.tooling.bytebuddy.matcher.SafeHasSuperTypeMatcher.safeGetSuperClass; + import net.bytebuddy.description.type.TypeDefinition; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @@ -22,7 +24,7 @@ class SafeExtendsClassMatcher if (matcher.matches(typeDefinition.asGenericType())) { return true; } - typeDefinition = DDElementMatchers.safeGetSuperClass(typeDefinition); + typeDefinition = safeGetSuperClass(typeDefinition); } return false; } diff --git a/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java b/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java index 167408bbfa..181b83bd14 100644 --- a/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java +++ b/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.apachehttpasyncclient; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeScope; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -40,7 +40,7 @@ public class ApacheHttpAsyncClientInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return safeHasInterface(named("org.apache.http.nio.client.HttpAsyncClient")); + return hasInterface(named("org.apache.http.nio.client.HttpAsyncClient")); } @Override diff --git a/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java b/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java index 6124f1ad38..0205f961f0 100644 --- a/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java +++ b/dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.apachehttpasyncclient; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -31,7 +31,7 @@ public class ApacheHttpClientRedirectInstrumentation extends Instrumenter.Defaul @Override public ElementMatcher typeMatcher() { - return safeHasInterface(named("org.apache.http.client.RedirectStrategy")); + return hasInterface(named("org.apache.http.client.RedirectStrategy")); } @Override diff --git a/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java b/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java index f94525959b..26fae65cdc 100644 --- a/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java +++ b/dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.apachehttpclient; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -44,7 +44,7 @@ public class ApacheHttpClientInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.apache.http.client.HttpClient"))); + return not(isInterface()).and(hasInterface(named("org.apache.http.client.HttpClient"))); } @Override diff --git a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/RequestInstrumentation.java b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/RequestInstrumentation.java index 3efca1c94b..26bda37872 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/RequestInstrumentation.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/RequestInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.aws.v0; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -28,7 +28,7 @@ public final class RequestInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { return nameStartsWith("com.amazonaws.") - .and(safeExtendsClass(named("com.amazonaws.AmazonWebServiceRequest"))); + .and(extendsClass(named("com.amazonaws.AmazonWebServiceRequest"))); } @Override diff --git a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsClientInstrumentation.java b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsClientInstrumentation.java index abe1df2eb0..ae60adc8b5 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsClientInstrumentation.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.aws.v2; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -26,8 +26,7 @@ public final class AwsClientInstrumentation extends AbstractAwsClientInstrumenta public ElementMatcher typeMatcher() { return nameStartsWith("software.amazon.awssdk.") .and(not(isInterface())) - .and( - safeHasInterface(named("software.amazon.awssdk.core.client.builder.SdkClientBuilder"))); + .and(hasInterface(named("software.amazon.awssdk.core.client.builder.SdkClientBuilder"))); } @Override diff --git a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsHttpClientInstrumentation.java b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsHttpClientInstrumentation.java index 83d5ae5989..0d3db6540d 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsHttpClientInstrumentation.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/main/java/datadog/trace/instrumentation/aws/v2/AwsHttpClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.aws.v2; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeScope; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -31,7 +31,7 @@ public final class AwsHttpClientInstrumentation extends AbstractAwsClientInstrum public ElementMatcher typeMatcher() { return nameStartsWith("software.amazon.awssdk.") .and( - safeExtendsClass( + extendsClass( named( "software.amazon.awssdk.core.internal.http.pipeline.stages.MakeHttpRequestStage") .or( diff --git a/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java b/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java index 006867c100..0078c2bd2e 100644 --- a/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java +++ b/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.classloading; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isProtected; @@ -44,7 +44,7 @@ public final class ClassloadingInstrumentation extends Instrumenter.Default { return not(named("java.lang.ClassLoader")) .and(not(named("com.ibm.oti.vm.BootstrapClassLoader"))) .and(not(named("datadog.trace.bootstrap.AgentClassLoader"))) - .and(safeExtendsClass(named("java.lang.ClassLoader"))); + .and(extendsClass(named("java.lang.ClassLoader"))); } @Override diff --git a/dd-java-agent/instrumentation/couchbase-2.6/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseNetworkInstrumentation.java b/dd-java-agent/instrumentation/couchbase-2.6/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseNetworkInstrumentation.java index c47d05e312..09b9b1f3ae 100644 --- a/dd-java-agent/instrumentation/couchbase-2.6/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseNetworkInstrumentation.java +++ b/dd-java-agent/instrumentation/couchbase-2.6/src/main/java/datadog/trace/instrumentation/couchbase/client/CouchbaseNetworkInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.couchbase.client; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; @@ -34,7 +34,7 @@ public class CouchbaseNetworkInstrumentation extends Instrumenter.Default { // Exact class because private fields are used return nameStartsWith("com.couchbase.client.") .and( - safeExtendsClass(named("com.couchbase.client.core.endpoint.AbstractGenericHandler"))); + extendsClass(named("com.couchbase.client.core.endpoint.AbstractGenericHandler"))); } @Override diff --git a/dd-java-agent/instrumentation/dropwizard/dropwizard-views/src/main/java/datadog/trace/instrumentation/dropwizard/view/DropwizardViewInstrumentation.java b/dd-java-agent/instrumentation/dropwizard/dropwizard-views/src/main/java/datadog/trace/instrumentation/dropwizard/view/DropwizardViewInstrumentation.java index eee079b08e..1c9d131d77 100644 --- a/dd-java-agent/instrumentation/dropwizard/dropwizard-views/src/main/java/datadog/trace/instrumentation/dropwizard/view/DropwizardViewInstrumentation.java +++ b/dd-java-agent/instrumentation/dropwizard/dropwizard-views/src/main/java/datadog/trace/instrumentation/dropwizard/view/DropwizardViewInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.dropwizard.view; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -34,7 +34,7 @@ public final class DropwizardViewInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("io.dropwizard.views.ViewRenderer"))); + return not(isInterface()).and(hasInterface(named("io.dropwizard.views.ViewRenderer"))); } @Override diff --git a/dd-java-agent/instrumentation/finatra-2.9/src/main/java/datadog/trace/instrumentation/finatra/FinatraInstrumentation.java b/dd-java-agent/instrumentation/finatra-2.9/src/main/java/datadog/trace/instrumentation/finatra/FinatraInstrumentation.java index 2b1385ac45..6f3e068d98 100644 --- a/dd-java-agent/instrumentation/finatra-2.9/src/main/java/datadog/trace/instrumentation/finatra/FinatraInstrumentation.java +++ b/dd-java-agent/instrumentation/finatra-2.9/src/main/java/datadog/trace/instrumentation/finatra/FinatraInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.finatra; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -54,7 +54,7 @@ public class FinatraInstrumentation extends Instrumenter.Default { public ElementMatcher typeMatcher() { return nameStartsWith("com.twitter.finatra.") .and(not(isInterface())) - .and(safeExtendsClass(named("com.twitter.finatra.http.internal.routing.Route"))); + .and(extendsClass(named("com.twitter.finatra.http.internal.routing.Route"))); } @Override diff --git a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/CriteriaInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/CriteriaInstrumentation.java index 7ebe2e5e1c..73067a20ad 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/CriteriaInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/CriteriaInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v3_3; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -31,7 +31,7 @@ public class CriteriaInstrumentation extends AbstractHibernateInstrumentation { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.hibernate.Criteria"))); + return not(isInterface()).and(hasInterface(named("org.hibernate.Criteria"))); } @Override diff --git a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/QueryInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/QueryInstrumentation.java index 6046cb2c36..6a9b80514b 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/QueryInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/QueryInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v3_3; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; @@ -33,7 +33,7 @@ public class QueryInstrumentation extends AbstractHibernateInstrumentation { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.hibernate.Query"))); + return not(isInterface()).and(hasInterface(named("org.hibernate.Query"))); } @Override diff --git a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionFactoryInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionFactoryInstrumentation.java index 576c474593..7c7813b2aa 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionFactoryInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionFactoryInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v3_3; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static java.util.Collections.singletonMap; @@ -40,7 +40,7 @@ public class SessionFactoryInstrumentation extends AbstractHibernateInstrumentat @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.hibernate.SessionFactory"))); + return not(isInterface()).and(hasInterface(named("org.hibernate.SessionFactory"))); } @Override @@ -53,7 +53,7 @@ public class SessionFactoryInstrumentation extends AbstractHibernateInstrumentat returns( named("org.hibernate.Session") .or(named("org.hibernate.StatelessSession")) - .or(safeHasInterface(named("org.hibernate.Session"))))), + .or(hasInterface(named("org.hibernate.Session"))))), SessionFactoryInstrumentation.class.getName() + "$SessionFactoryAdvice"); } diff --git a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionInstrumentation.java index 355f66028e..2a58a8cf3e 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v3_3; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static datadog.trace.instrumentation.hibernate.SessionMethodUtils.SCOPE_ONLY_METHODS; import static net.bytebuddy.matcher.ElementMatchers.isInterface; @@ -50,7 +50,7 @@ public class SessionInstrumentation extends AbstractHibernateInstrumentation { public ElementMatcher typeMatcher() { return not(isInterface()) .and( - safeHasInterface( + hasInterface( named("org.hibernate.Session").or(named("org.hibernate.StatelessSession")))); } @@ -99,11 +99,11 @@ public class SessionInstrumentation extends AbstractHibernateInstrumentation { SessionInstrumentation.class.getName() + "$GetTransactionAdvice"); transformers.put( - isMethod().and(returns(safeHasInterface(named("org.hibernate.Query")))), + isMethod().and(returns(hasInterface(named("org.hibernate.Query")))), SessionInstrumentation.class.getName() + "$GetQueryAdvice"); transformers.put( - isMethod().and(returns(safeHasInterface(named("org.hibernate.Criteria")))), + isMethod().and(returns(hasInterface(named("org.hibernate.Criteria")))), SessionInstrumentation.class.getName() + "$GetCriteriaAdvice"); return transformers; diff --git a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/TransactionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/TransactionInstrumentation.java index dca5a0671c..da42d003d3 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/TransactionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/TransactionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v3_3; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -31,7 +31,7 @@ public class TransactionInstrumentation extends AbstractHibernateInstrumentation @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.hibernate.Transaction"))); + return not(isInterface()).and(hasInterface(named("org.hibernate.Transaction"))); } @Override diff --git a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/CriteriaInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/CriteriaInstrumentation.java index 88d5c0896b..e160da2ee7 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/CriteriaInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/CriteriaInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_0; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -31,7 +31,7 @@ public class CriteriaInstrumentation extends AbstractHibernateInstrumentation { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.hibernate.Criteria"))); + return not(isInterface()).and(hasInterface(named("org.hibernate.Criteria"))); } @Override diff --git a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/QueryInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/QueryInstrumentation.java index 64f65b7621..e0ce08126d 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/QueryInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/QueryInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_0; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; @@ -33,7 +33,7 @@ public class QueryInstrumentation extends AbstractHibernateInstrumentation { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.hibernate.Query"))); + return not(isInterface()).and(hasInterface(named("org.hibernate.Query"))); } @Override diff --git a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionFactoryInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionFactoryInstrumentation.java index 34fbb10543..70ca64df9d 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionFactoryInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionFactoryInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_0; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static java.util.Collections.singletonMap; @@ -34,7 +34,7 @@ public class SessionFactoryInstrumentation extends AbstractHibernateInstrumentat @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.hibernate.SessionFactory"))); + return not(isInterface()).and(hasInterface(named("org.hibernate.SessionFactory"))); } @Override diff --git a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionInstrumentation.java index 493e8226ce..f7e33dcf7b 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/SessionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_0; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; import static datadog.trace.instrumentation.hibernate.SessionMethodUtils.SCOPE_ONLY_METHODS; import static net.bytebuddy.matcher.ElementMatchers.isInterface; @@ -46,7 +46,7 @@ public class SessionInstrumentation extends AbstractHibernateInstrumentation { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.hibernate.SharedSessionContract"))); + return not(isInterface()).and(hasInterface(named("org.hibernate.SharedSessionContract"))); } @Override @@ -93,11 +93,11 @@ public class SessionInstrumentation extends AbstractHibernateInstrumentation { SessionInstrumentation.class.getName() + "$GetTransactionAdvice"); transformers.put( - isMethod().and(returns(safeHasInterface(named("org.hibernate.Query")))), + isMethod().and(returns(hasInterface(named("org.hibernate.Query")))), SessionInstrumentation.class.getName() + "$GetQueryAdvice"); transformers.put( - isMethod().and(returns(safeHasInterface(named("org.hibernate.Criteria")))), + isMethod().and(returns(hasInterface(named("org.hibernate.Criteria")))), SessionInstrumentation.class.getName() + "$GetCriteriaAdvice"); return transformers; diff --git a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/TransactionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/TransactionInstrumentation.java index f7a0101066..57d58bda7d 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/TransactionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.0/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_0/TransactionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_0; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -31,7 +31,7 @@ public class TransactionInstrumentation extends AbstractHibernateInstrumentation @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.hibernate.Transaction"))); + return not(isInterface()).and(hasInterface(named("org.hibernate.Transaction"))); } @Override diff --git a/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/ProcedureCallInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/ProcedureCallInstrumentation.java index 5c86cbfaf4..ee97c66dc5 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/ProcedureCallInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/ProcedureCallInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_3; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -47,7 +47,7 @@ public class ProcedureCallInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.hibernate.procedure.ProcedureCall"))); + return not(isInterface()).and(hasInterface(named("org.hibernate.procedure.ProcedureCall"))); } @Override diff --git a/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/SessionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/SessionInstrumentation.java index a588f57ace..991dd466d5 100644 --- a/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/SessionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-4.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v4_3/SessionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hibernate.core.v4_3; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -53,7 +53,7 @@ public class SessionInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("org.hibernate.SharedSessionContract"))); + return not(isInterface()).and(hasInterface(named("org.hibernate.SharedSessionContract"))); } @Override @@ -61,7 +61,7 @@ public class SessionInstrumentation extends Instrumenter.Default { final Map, String> transformers = new HashMap<>(); transformers.put( - isMethod().and(returns(safeHasInterface(named("org.hibernate.procedure.ProcedureCall")))), + isMethod().and(returns(hasInterface(named("org.hibernate.procedure.ProcedureCall")))), SessionInstrumentation.class.getName() + "$GetProcedureCallAdvice"); return transformers; diff --git a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java index 487557dc87..0c160dbdb6 100644 --- a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java +++ b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.http_url_connection; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -41,7 +41,7 @@ public class HttpUrlConnectionInstrumentation extends Instrumenter.Default { .or(ElementMatchers.nameStartsWith("sun.net")) // This class is a simple delegator. Skip because it does not update its `connected` field. .and(not(named("sun.net.www.protocol.https.HttpsURLConnectionImpl"))) - .and(safeExtendsClass(named("java.net.HttpURLConnection"))); + .and(extendsClass(named("java.net.HttpURLConnection"))); } @Override diff --git a/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixInstrumentation.java b/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixInstrumentation.java index 8c2f6f98be..7629cc09ad 100644 --- a/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixInstrumentation.java +++ b/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.hystrix; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.instrumentation.hystrix.HystrixDecorator.DECORATE; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.returns; @@ -29,7 +29,7 @@ public class HystrixInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return safeExtendsClass( + return extendsClass( named("com.netflix.hystrix.HystrixCommand") .or(named("com.netflix.hystrix.HystrixObservableCommand"))); } diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AbstractExecutorInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AbstractExecutorInstrumentation.java index f0d1ba63ed..8b18b8c3a7 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AbstractExecutorInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AbstractExecutorInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.not; @@ -129,7 +129,7 @@ public abstract class AbstractExecutorInstrumentation extends Instrumenter.Defau }); } return matcher.and( - safeHasInterface(named(Executor.class.getName()))); // Apply expensive matcher last. + hasInterface(named(Executor.class.getName()))); // Apply expensive matcher last. } @Override diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AkkaForkJoinTaskInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AkkaForkJoinTaskInstrumentation.java index de090aab89..864683faaa 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AkkaForkJoinTaskInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AkkaForkJoinTaskInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isInterface; @@ -44,7 +44,7 @@ public final class AkkaForkJoinTaskInstrumentation extends Instrumenter.Default @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeExtendsClass(named(TASK_CLASS_NAME))); + return not(isInterface()).and(extendsClass(named(TASK_CLASS_NAME))); } @Override diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java index c53712c7b6..d759a6224a 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/AsyncPropagatingDisableInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeScope; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.noopSpan; @@ -36,7 +36,7 @@ public final class AsyncPropagatingDisableInstrumentation implements Instrumente new ImmutableMap.Builder< ElementMatcher, ElementMatcher>() - .put(safeExtendsClass(named("rx.Scheduler$Worker")), named("schedulePeriodically")) + .put(extendsClass(named("rx.Scheduler$Worker")), named("schedulePeriodically")) .build(); @Override diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java index 4aec13e1e6..731aaaed1d 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -90,7 +90,7 @@ public final class FutureInstrumentation extends Instrumenter.Default { return whitelisted; } }) - .and(safeHasInterface(named(Future.class.getName()))); // Apply expensive matcher last. + .and(hasInterface(named(Future.class.getName()))); // Apply expensive matcher last. } @Override diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/JavaForkJoinTaskInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/JavaForkJoinTaskInstrumentation.java index d75ad08ee2..39e4e2b099 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/JavaForkJoinTaskInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/JavaForkJoinTaskInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -41,7 +41,7 @@ public final class JavaForkJoinTaskInstrumentation extends Instrumenter.Default @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeExtendsClass(named(ForkJoinTask.class.getName()))); + return not(isInterface()).and(extendsClass(named(ForkJoinTask.class.getName()))); } @Override diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/RunnableCallableInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/RunnableCallableInstrumentation.java index dd131432f3..407574f49e 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/RunnableCallableInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/RunnableCallableInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -35,7 +35,7 @@ public final class RunnableCallableInstrumentation extends Instrumenter.Default @Override public ElementMatcher typeMatcher() { return not(isInterface()) - .and(safeHasInterface(named(Runnable.class.getName()).or(named(Callable.class.getName())))); + .and(hasInterface(named(Runnable.class.getName()).or(named(Callable.class.getName())))); } @Override diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ScalaForkJoinTaskInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ScalaForkJoinTaskInstrumentation.java index dd3257c862..d7e3c94c8c 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ScalaForkJoinTaskInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ScalaForkJoinTaskInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.java.concurrent; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -43,7 +43,7 @@ public final class ScalaForkJoinTaskInstrumentation extends Instrumenter.Default @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeExtendsClass(named(TASK_CLASS_NAME))); + return not(isInterface()).and(extendsClass(named(TASK_CLASS_NAME))); } @Override diff --git a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/AbstractRequestContextInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/AbstractRequestContextInstrumentation.java index eeefd496be..7fa7742847 100644 --- a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/AbstractRequestContextInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/AbstractRequestContextInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jaxrs2; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -31,7 +31,7 @@ public abstract class AbstractRequestContextInstrumentation extends Instrumenter @Override public ElementMatcher typeMatcher() { return not(isInterface()) - .and(safeHasInterface(named("javax.ws.rs.container.ContainerRequestContext"))); + .and(hasInterface(named("javax.ws.rs.container.ContainerRequestContext"))); } @Override diff --git a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/ContainerRequestFilterInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/ContainerRequestFilterInstrumentation.java index f0985009f8..fa5d6a6f32 100644 --- a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/ContainerRequestFilterInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/ContainerRequestFilterInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jaxrs2; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -33,7 +33,7 @@ public class ContainerRequestFilterInstrumentation extends Instrumenter.Default @Override public ElementMatcher typeMatcher() { return not(isInterface()) - .and(safeHasInterface(named("javax.ws.rs.container.ContainerRequestFilter"))); + .and(hasInterface(named("javax.ws.rs.container.ContainerRequestFilter"))); } @Override diff --git a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAsyncResponseInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAsyncResponseInstrumentation.java index 72400df73b..df365d1dcb 100644 --- a/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAsyncResponseInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-annotations-2/src/main/java/datadog/trace/instrumentation/jaxrs2/JaxRsAsyncResponseInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jaxrs2; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.instrumentation.jaxrs2.JaxRsAnnotationsDecorator.DECORATE; import static net.bytebuddy.matcher.ElementMatchers.isPublic; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -35,7 +35,7 @@ public final class JaxRsAsyncResponseInstrumentation extends Instrumenter.Defaul @Override public ElementMatcher typeMatcher() { - return safeHasInterface(named("javax.ws.rs.container.AsyncResponse")); + return hasInterface(named("javax.ws.rs.container.AsyncResponse")); } @Override diff --git a/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Instrumentation.java b/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Instrumentation.java index 6947dfc490..6ff82b98a2 100644 --- a/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Instrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-client-1.1/src/main/java/datadog/trace/instrumentation/jaxrs/v1/JaxRsClientV1Instrumentation.java @@ -1,8 +1,8 @@ package datadog.trace.instrumentation.jaxrs.v1; import static datadog.trace.agent.decorator.HttpServerDecorator.DD_SPAN_ATTRIBUTE; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -36,7 +36,7 @@ public final class JaxRsClientV1Instrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return safeHasInterface(named("com.sun.jersey.api.client.ClientHandler")); + return hasInterface(named("com.sun.jersey.api.client.ClientHandler")); } @Override @@ -54,10 +54,8 @@ public final class JaxRsClientV1Instrumentation extends Instrumenter.Default { public Map, String> transformers() { return singletonMap( named("handle") - .and( - takesArgument( - 0, safeExtendsClass(named("com.sun.jersey.api.client.ClientRequest")))) - .and(returns(safeExtendsClass(named("com.sun.jersey.api.client.ClientResponse")))), + .and(takesArgument(0, extendsClass(named("com.sun.jersey.api.client.ClientRequest")))) + .and(returns(extendsClass(named("com.sun.jersey.api.client.ClientResponse")))), JaxRsClientV1Instrumentation.class.getName() + "$HandleAdvice"); } diff --git a/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java index 8972ed1175..fe81be3cef 100644 --- a/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-client-2.0/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java @@ -1,7 +1,7 @@ package datadog.trace.instrumentation.jaxrs; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.returns; @@ -25,7 +25,7 @@ public final class JaxRsClientInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return safeExtendsClass(named("javax.ws.rs.client.ClientBuilder")); + return extendsClass(named("javax.ws.rs.client.ClientBuilder")); } @Override @@ -44,7 +44,7 @@ public final class JaxRsClientInstrumentation extends Instrumenter.Default { @Override public Map, String> transformers() { return singletonMap( - named("build").and(returns(safeHasInterface(named("javax.ws.rs.client.Client")))), + named("build").and(returns(hasInterface(named("javax.ws.rs.client.Client")))), JaxRsClientInstrumentation.class.getName() + "$ClientBuilderAdvice"); } diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java index 5fef9d4846..64de23b5d8 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jdbc; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; @@ -27,7 +27,7 @@ public final class ConnectionInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("java.sql.Connection"))); + return not(isInterface()).and(hasInterface(named("java.sql.Connection"))); } @Override @@ -43,7 +43,7 @@ public final class ConnectionInstrumentation extends Instrumenter.Default { nameStartsWith("prepare") .and(takesArgument(0, String.class)) // Also include CallableStatement, which is a sub type of PreparedStatement - .and(returns(safeHasInterface(named("java.sql.PreparedStatement")))), + .and(returns(hasInterface(named("java.sql.PreparedStatement")))), ConnectionInstrumentation.class.getName() + "$ConnectionPrepareAdvice"); } diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DataSourceInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DataSourceInstrumentation.java index 5b12b209c3..937d348119 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DataSourceInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DataSourceInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jdbc; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -42,7 +42,7 @@ public final class DataSourceInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("javax.sql.DataSource"))); + return not(isInterface()).and(hasInterface(named("javax.sql.DataSource"))); } @Override diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DriverInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DriverInstrumentation.java index d56f9a049a..b26ef6489f 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DriverInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DriverInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jdbc; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; @@ -30,7 +30,7 @@ public final class DriverInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("java.sql.Driver"))); + return not(isInterface()).and(hasInterface(named("java.sql.Driver"))); } @Override diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java index 7dcaf961c9..e9d6a39eb0 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jdbc; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.jdbc.JDBCDecorator.DECORATE; @@ -35,7 +35,7 @@ public final class PreparedStatementInstrumentation extends Instrumenter.Default @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("java.sql.PreparedStatement"))); + return not(isInterface()).and(hasInterface(named("java.sql.PreparedStatement"))); } @Override diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java index cf6f15340c..e740f9f86c 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jdbc; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.jdbc.JDBCDecorator.DECORATE; @@ -35,7 +35,7 @@ public final class StatementInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("java.sql.Statement"))); + return not(isInterface()).and(hasInterface(named("java.sql.Statement"))); } @Override diff --git a/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/JettyHandlerInstrumentation.java b/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/JettyHandlerInstrumentation.java index eef4a0841e..e358f60774 100644 --- a/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/JettyHandlerInstrumentation.java +++ b/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/JettyHandlerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jetty8; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; @@ -30,7 +30,7 @@ public final class JettyHandlerInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { return not(isInterface()) - .and(safeHasInterface(named("org.eclipse.jetty.server.Handler"))) + .and(hasInterface(named("org.eclipse.jetty.server.Handler"))) .and(not(named("org.eclipse.jetty.server.handler.HandlerWrapper"))); } diff --git a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java index d60a411822..5d8d927980 100644 --- a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jms; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -37,7 +37,7 @@ public final class JMSMessageConsumerInstrumentation extends Instrumenter.Defaul @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("javax.jms.MessageConsumer"))); + return not(isInterface()).and(hasInterface(named("javax.jms.MessageConsumer"))); } @Override diff --git a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java index 9c54e26150..e76e1031bd 100644 --- a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jms; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -35,7 +35,7 @@ public final class JMSMessageListenerInstrumentation extends Instrumenter.Defaul @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("javax.jms.MessageListener"))); + return not(isInterface()).and(hasInterface(named("javax.jms.MessageListener"))); } @Override diff --git a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java index 60f129337e..2b28a61cb1 100644 --- a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jms; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -37,7 +37,7 @@ public final class JMSMessageProducerInstrumentation extends Instrumenter.Defaul @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("javax.jms.MessageProducer"))); + return not(isInterface()).and(hasInterface(named("javax.jms.MessageProducer"))); } @Override diff --git a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java index 9ab2b8fe68..4ad9c7ca1e 100644 --- a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java +++ b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jsp; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.jsp.JSPDecorator.DECORATE; @@ -31,7 +31,7 @@ public final class JSPInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("javax.servlet.jsp.HttpJspPage"))); + return not(isInterface()).and(hasInterface(named("javax.servlet.jsp.HttpJspPage"))); } @Override diff --git a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java index 31eb92fa81..3e407c9b0a 100644 --- a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.netty40; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static java.util.Collections.singletonMap; @@ -35,8 +35,7 @@ public class ChannelFutureListenerInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()) - .and(safeHasInterface(named("io.netty.channel.ChannelFutureListener"))); + return not(isInterface()).and(hasInterface(named("io.netty.channel.ChannelFutureListener"))); } @Override diff --git a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java index 11193bb054..49de0c4e81 100644 --- a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.netty40; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeScope; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -48,7 +48,7 @@ public class NettyChannelPipelineInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("io.netty.channel.ChannelPipeline"))); + return not(isInterface()).and(hasInterface(named("io.netty.channel.ChannelPipeline"))); } @Override diff --git a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java index 6d9eeedbfa..c664aa5078 100644 --- a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.netty41; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static java.util.Collections.singletonMap; @@ -35,8 +35,7 @@ public class ChannelFutureListenerInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()) - .and(safeHasInterface(named("io.netty.channel.ChannelFutureListener"))); + return not(isInterface()).and(hasInterface(named("io.netty.channel.ChannelFutureListener"))); } @Override diff --git a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java index 31474d0041..25c965d015 100644 --- a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.netty41; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeScope; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -48,7 +48,7 @@ public class NettyChannelPipelineInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("io.netty.channel.ChannelPipeline"))); + return not(isInterface()).and(hasInterface(named("io.netty.channel.ChannelPipeline"))); } @Override diff --git a/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play24/PlayInstrumentation.java b/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play24/PlayInstrumentation.java index 4315957eed..122ee9cfbd 100644 --- a/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play24/PlayInstrumentation.java +++ b/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play24/PlayInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.play24; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.returns; @@ -22,7 +22,7 @@ public final class PlayInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return safeHasInterface(named("play.api.mvc.Action")); + return hasInterface(named("play.api.mvc.Action")); } @Override diff --git a/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/PlayInstrumentation.java b/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/PlayInstrumentation.java index e994799f0e..c55b8f7a8b 100644 --- a/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/PlayInstrumentation.java +++ b/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/PlayInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.play26; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.returns; @@ -22,7 +22,7 @@ public final class PlayInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return safeHasInterface(named("play.api.mvc.Action")); + return hasInterface(named("play.api.mvc.Action")); } @Override diff --git a/dd-java-agent/instrumentation/play-ws-1/src/main/java/datadog/trace/instrumentation/playws1/PlayWSClientInstrumentation.java b/dd-java-agent/instrumentation/play-ws-1/src/main/java/datadog/trace/instrumentation/playws1/PlayWSClientInstrumentation.java index 9a18756f1a..97a5170256 100644 --- a/dd-java-agent/instrumentation/play-ws-1/src/main/java/datadog/trace/instrumentation/playws1/PlayWSClientInstrumentation.java +++ b/dd-java-agent/instrumentation/play-ws-1/src/main/java/datadog/trace/instrumentation/playws1/PlayWSClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.playws1; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.playws1.HeadersInjectAdapter.SETTER; @@ -36,7 +36,7 @@ public class PlayWSClientInstrumentation extends Instrumenter.Default { // It also delegates to another AsyncHttpClient return nameStartsWith("play.") .and( - safeHasInterface(named("play.shaded.ahc.org.asynchttpclient.AsyncHttpClient")) + hasInterface(named("play.shaded.ahc.org.asynchttpclient.AsyncHttpClient")) .and(not(named("play.api.libs.ws.ahc.cache.CachingAsyncHttpClient")))); } diff --git a/dd-java-agent/instrumentation/play-ws-2.1/src/main/java/datadog/trace/instrumentation/playws21/PlayWSClientInstrumentation.java b/dd-java-agent/instrumentation/play-ws-2.1/src/main/java/datadog/trace/instrumentation/playws21/PlayWSClientInstrumentation.java index 8082a05cd6..f7418bc538 100644 --- a/dd-java-agent/instrumentation/play-ws-2.1/src/main/java/datadog/trace/instrumentation/playws21/PlayWSClientInstrumentation.java +++ b/dd-java-agent/instrumentation/play-ws-2.1/src/main/java/datadog/trace/instrumentation/playws21/PlayWSClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.playws21; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.playws21.HeadersInjectAdapter.SETTER; @@ -33,7 +33,7 @@ public class PlayWSClientInstrumentation extends Instrumenter.Default { public ElementMatcher typeMatcher() { // CachingAsyncHttpClient rejects overrides to AsyncHandler // It also delegates to another AsyncHttpClient - return safeHasInterface(named("play.shaded.ahc.org.asynchttpclient.AsyncHttpClient")) + return hasInterface(named("play.shaded.ahc.org.asynchttpclient.AsyncHttpClient")) .and(not(named("play.api.libs.ws.ahc.cache.CachingAsyncHttpClient"))); } diff --git a/dd-java-agent/instrumentation/play-ws-2/src/main/java/datadog/trace/instrumentation/playws2/PlayWSClientInstrumentation.java b/dd-java-agent/instrumentation/play-ws-2/src/main/java/datadog/trace/instrumentation/playws2/PlayWSClientInstrumentation.java index a4b9f518a6..be4b069e14 100644 --- a/dd-java-agent/instrumentation/play-ws-2/src/main/java/datadog/trace/instrumentation/playws2/PlayWSClientInstrumentation.java +++ b/dd-java-agent/instrumentation/play-ws-2/src/main/java/datadog/trace/instrumentation/playws2/PlayWSClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.playws2; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.playws2.HeadersInjectAdapter.SETTER; @@ -33,7 +33,7 @@ public class PlayWSClientInstrumentation extends Instrumenter.Default { public ElementMatcher typeMatcher() { // CachingAsyncHttpClient rejects overrides to AsyncHandler // It also delegates to another AsyncHttpClient - return safeHasInterface(named("play.shaded.ahc.org.asynchttpclient.AsyncHttpClient")) + return hasInterface(named("play.shaded.ahc.org.asynchttpclient.AsyncHttpClient")) .and(not(named("play.api.libs.ws.ahc.cache.CachingAsyncHttpClient"))); } diff --git a/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitChannelInstrumentation.java b/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitChannelInstrumentation.java index 39d7a647ac..77e0703093 100644 --- a/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitChannelInstrumentation.java +++ b/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitChannelInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rabbitmq.amqp; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.noopSpan; @@ -56,7 +56,7 @@ public class RabbitChannelInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("com.rabbitmq.client.Channel"))); + return not(isInterface()).and(hasInterface(named("com.rabbitmq.client.Channel"))); } @Override diff --git a/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitCommandInstrumentation.java b/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitCommandInstrumentation.java index b8fb532cb6..b2202496d6 100644 --- a/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitCommandInstrumentation.java +++ b/dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitCommandInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rabbitmq.amqp; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.instrumentation.rabbitmq.amqp.RabbitDecorator.DECORATE; import static java.util.Collections.singletonMap; @@ -28,7 +28,7 @@ public class RabbitCommandInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("com.rabbitmq.client.Command"))); + return not(isInterface()).and(hasInterface(named("com.rabbitmq.client.Command"))); } @Override diff --git a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ContinuationInstrumentation.java b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ContinuationInstrumentation.java index a6b44cb45c..43ecd3d213 100644 --- a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ContinuationInstrumentation.java +++ b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ContinuationInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.ratpack; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; @@ -27,7 +27,7 @@ public final class ContinuationInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { return nameStartsWith("ratpack.exec.") - .and(safeHasInterface(named("ratpack.exec.internal.Continuation"))); + .and(hasInterface(named("ratpack.exec.internal.Continuation"))); } @Override diff --git a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java index 4a0c553ffd..32972f5d99 100644 --- a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java +++ b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.ratpack; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isInterface; @@ -25,7 +25,7 @@ public class ServerErrorHandlerInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { return not(isInterface().or(isAbstract())) - .and(safeHasInterface(named("ratpack.error.ServerErrorHandler"))); + .and(hasInterface(named("ratpack.error.ServerErrorHandler"))); } @Override diff --git a/dd-java-agent/instrumentation/reactor-core-3.1/src/main/java/datadog/trace/instrumentation/reactor/core/FluxAndMonoInstrumentation.java b/dd-java-agent/instrumentation/reactor-core-3.1/src/main/java/datadog/trace/instrumentation/reactor/core/FluxAndMonoInstrumentation.java index b58b464caf..9b0b1aaec7 100644 --- a/dd-java-agent/instrumentation/reactor-core-3.1/src/main/java/datadog/trace/instrumentation/reactor/core/FluxAndMonoInstrumentation.java +++ b/dd-java-agent/instrumentation/reactor-core-3.1/src/main/java/datadog/trace/instrumentation/reactor/core/FluxAndMonoInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.reactor.core; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -36,7 +36,7 @@ public final class FluxAndMonoInstrumentation extends Instrumenter.Default { public ElementMatcher typeMatcher() { return not(isAbstract()) .and( - safeExtendsClass( + extendsClass( named("reactor.core.publisher.Mono").or(named("reactor.core.publisher.Flux")))); } diff --git a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/client/RmiClientInstrumentation.java b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/client/RmiClientInstrumentation.java index bbee6a185a..8e4af4de2a 100644 --- a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/client/RmiClientInstrumentation.java +++ b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/client/RmiClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rmi.client; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -33,7 +33,7 @@ public final class RmiClientInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeExtendsClass(named("sun.rmi.server.UnicastRef"))); + return not(isInterface()).and(extendsClass(named("sun.rmi.server.UnicastRef"))); } @Override diff --git a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java index 08b0fdeaaf..1f7c4befd6 100644 --- a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java +++ b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/client/RmiClientContextInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rmi.context.client; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.instrumentation.rmi.context.ContextPropagator.PROPAGATOR; import static java.util.Collections.singletonMap; @@ -53,7 +53,7 @@ public class RmiClientContextInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeExtendsClass(named("sun.rmi.transport.StreamRemoteCall"))); + return not(isInterface()).and(extendsClass(named("sun.rmi.transport.StreamRemoteCall"))); } @Override diff --git a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/server/RmiServerContextInstrumentation.java b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/server/RmiServerContextInstrumentation.java index aa4413085a..3be20c9f9c 100644 --- a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/server/RmiServerContextInstrumentation.java +++ b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/context/server/RmiServerContextInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rmi.context.server; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.instrumentation.rmi.context.ContextPropagator.DD_CONTEXT_CALL_ID; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; @@ -28,7 +28,7 @@ public class RmiServerContextInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeExtendsClass(named("sun.rmi.transport.ObjectTable"))); + return not(isInterface()).and(extendsClass(named("sun.rmi.transport.ObjectTable"))); } @Override diff --git a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/server/RmiServerInstrumentation.java b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/server/RmiServerInstrumentation.java index c20210aa90..bfef355e10 100644 --- a/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/server/RmiServerInstrumentation.java +++ b/dd-java-agent/instrumentation/rmi/src/main/java/datadog/trace/instrumentation/rmi/server/RmiServerInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.rmi.server; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.bootstrap.instrumentation.rmi.ThreadLocalContext.THREAD_LOCAL_CONTEXT; @@ -43,7 +43,7 @@ public final class RmiServerInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeExtendsClass(named("java.rmi.server.RemoteServer"))); + return not(isInterface()).and(extendsClass(named("java.rmi.server.RemoteServer"))); } @Override diff --git a/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/AsyncContextInstrumentation.java b/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/AsyncContextInstrumentation.java index 2bba9da497..312937a978 100644 --- a/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/AsyncContextInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/request-3/src/main/java/datadog/trace/instrumentation/servlet3/AsyncContextInstrumentation.java @@ -1,7 +1,7 @@ package datadog.trace.instrumentation.servlet3; import static datadog.trace.agent.decorator.HttpServerDecorator.DD_SPAN_ATTRIBUTE; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; import static datadog.trace.instrumentation.servlet3.HttpServletRequestInjectAdapter.SETTER; import static java.util.Collections.singletonMap; @@ -38,7 +38,7 @@ public final class AsyncContextInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("javax.servlet.AsyncContext"))); + return not(isInterface()).and(hasInterface(named("javax.servlet.AsyncContext"))); } @Override diff --git a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentation.java b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentation.java index 763468e982..53c53b59c5 100644 --- a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentation.java @@ -1,7 +1,7 @@ package datadog.trace.instrumentation.servlet.dispatcher; import static datadog.trace.agent.decorator.HttpServerDecorator.DD_SPAN_ATTRIBUTE; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; @@ -46,7 +46,7 @@ public final class RequestDispatcherInstrumentation extends Instrumenter.Default @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("javax.servlet.RequestDispatcher"))); + return not(isInterface()).and(hasInterface(named("javax.servlet.RequestDispatcher"))); } @Override diff --git a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/ServletContextInstrumentation.java b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/ServletContextInstrumentation.java index ed741c0451..a98f87e13e 100644 --- a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/ServletContextInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/dispatcher/ServletContextInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.servlet.dispatcher; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; @@ -27,7 +27,7 @@ public final class ServletContextInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("javax.servlet.ServletContext"))); + return not(isInterface()).and(hasInterface(named("javax.servlet.ServletContext"))); } @Override diff --git a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/filter/FilterInstrumentation.java b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/filter/FilterInstrumentation.java index 9c3ecf4dae..c8d417efee 100644 --- a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/filter/FilterInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/filter/FilterInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.servlet.filter; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -44,7 +44,7 @@ public final class FilterInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasInterface(named("javax.servlet.Filter"))); + return not(isInterface()).and(hasInterface(named("javax.servlet.Filter"))); } @Override diff --git a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletInstrumentation.java b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletInstrumentation.java index b9ca3e60c8..7a07d2bcb5 100644 --- a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.servlet.http; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -46,7 +46,7 @@ public final class HttpServletInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeExtendsClass(named("javax.servlet.http.HttpServlet"))); + return not(isInterface()).and(extendsClass(named("javax.servlet.http.HttpServlet"))); } /** diff --git a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletResponseInstrumentation.java b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletResponseInstrumentation.java index ff827122e1..50931e97bc 100644 --- a/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletResponseInstrumentation.java +++ b/dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletResponseInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.servlet.http; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate; @@ -43,8 +43,7 @@ public final class HttpServletResponseInstrumentation extends Instrumenter.Defau @Override public ElementMatcher typeMatcher() { - return not(isInterface()) - .and(safeHasInterface(named("javax.servlet.http.HttpServletResponse"))); + return not(isInterface()).and(hasInterface(named("javax.servlet.http.HttpServletResponse"))); } @Override diff --git a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/client/DefaultWebClientInstrumentation.java b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/client/DefaultWebClientInstrumentation.java index 74344f80a5..b340b87055 100644 --- a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/client/DefaultWebClientInstrumentation.java +++ b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/client/DefaultWebClientInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.springwebflux.client; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isPublic; @@ -37,8 +37,7 @@ public class DefaultWebClientInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { - return safeHasInterface( - named("org.springframework.web.reactive.function.client.ExchangeFunction")); + return hasInterface(named("org.springframework.web.reactive.function.client.ExchangeFunction")); } @Override diff --git a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/HandlerAdapterInstrumentation.java b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/HandlerAdapterInstrumentation.java index 9c1b1f69fb..f0e258a18e 100644 --- a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/HandlerAdapterInstrumentation.java +++ b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/HandlerAdapterInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.springwebflux.server; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isInterface; @@ -25,7 +25,7 @@ public final class HandlerAdapterInstrumentation extends AbstractWebfluxInstrume public ElementMatcher typeMatcher() { return not(isInterface()) .and(not(isAbstract())) - .and(safeHasInterface(named("org.springframework.web.reactive.HandlerAdapter"))); + .and(hasInterface(named("org.springframework.web.reactive.HandlerAdapter"))); } @Override diff --git a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/RouterFunctionInstrumentation.java b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/RouterFunctionInstrumentation.java index 8a4c6dca6a..c6a6bf6443 100644 --- a/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/RouterFunctionInstrumentation.java +++ b/dd-java-agent/instrumentation/spring-webflux-5/src/main/java/datadog/trace/instrumentation/springwebflux/server/RouterFunctionInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.springwebflux.server; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -28,7 +28,7 @@ public final class RouterFunctionInstrumentation extends AbstractWebfluxInstrume public ElementMatcher typeMatcher() { return not(isAbstract()) .and( - safeExtendsClass( + extendsClass( // TODO: this doesn't handle nested routes (DefaultNestedRouterFunction) named( "org.springframework.web.reactive.function.server.RouterFunctions$DefaultRouterFunction"))); diff --git a/dd-java-agent/instrumentation/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/HandlerAdapterInstrumentation.java b/dd-java-agent/instrumentation/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/HandlerAdapterInstrumentation.java index 99490b5cec..1861b2dfd2 100644 --- a/dd-java-agent/instrumentation/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/HandlerAdapterInstrumentation.java +++ b/dd-java-agent/instrumentation/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/HandlerAdapterInstrumentation.java @@ -1,7 +1,7 @@ package datadog.trace.instrumentation.springweb; import static datadog.trace.agent.decorator.HttpServerDecorator.DD_SPAN_ATTRIBUTE; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasInterface; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; @@ -37,7 +37,7 @@ public final class HandlerAdapterInstrumentation extends Instrumenter.Default { @Override public ElementMatcher typeMatcher() { return not(isInterface()) - .and(safeHasInterface(named("org.springframework.web.servlet.HandlerAdapter"))); + .and(hasInterface(named("org.springframework.web.servlet.HandlerAdapter"))); } @Override diff --git a/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioAsyncInstrumentation.java b/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioAsyncInstrumentation.java index d5e24e01fe..5eb21f110f 100644 --- a/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioAsyncInstrumentation.java +++ b/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioAsyncInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.twilio; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.twilio.TwilioClientDecorator.DECORATE; @@ -37,7 +37,7 @@ public class TwilioAsyncInstrumentation extends Instrumenter.Default { /** Match any child class of the base Twilio service classes. */ @Override public ElementMatcher typeMatcher() { - return safeExtendsClass( + return extendsClass( named("com.twilio.base.Creator") .or(named("com.twilio.base.Deleter")) .or(named("com.twilio.base.Fetcher")) diff --git a/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioSyncInstrumentation.java b/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioSyncInstrumentation.java index 86c88bd124..261309b1c1 100644 --- a/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioSyncInstrumentation.java +++ b/dd-java-agent/instrumentation/twilio/src/main/java/datadog/trace/instrumentation/twilio/TwilioSyncInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.twilio; -import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeExtendsClass; +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.twilio.TwilioClientDecorator.DECORATE; @@ -35,7 +35,7 @@ public class TwilioSyncInstrumentation extends Instrumenter.Default { public net.bytebuddy.matcher.ElementMatcher< ? super net.bytebuddy.description.type.TypeDescription> typeMatcher() { - return safeExtendsClass( + return extendsClass( named("com.twilio.base.Creator") .or(named("com.twilio.base.Deleter")) .or(named("com.twilio.base.Fetcher")) From 3559ffb21cfad9bcc4297258bd6735199891afc0 Mon Sep 17 00:00:00 2001 From: Tyler Benson Date: Fri, 21 Feb 2020 16:09:20 -0800 Subject: [PATCH 3/4] Add unit tests for matchers --- .../matcher/HasSuperMethodMatcherTest.groovy | 68 +++++++++++++++++++ .../SafeExtendsClassMatcherTest.groovy | 50 ++++++++++++++ .../SafeHasInterfaceMatcherTest.groovy | 56 +++++++++++++++ .../SafeHasSuperTypeMatcherTest.groovy | 55 +++++++++++++++ .../bytebuddy/matcher/SafeMatcherTest.groovy | 40 +++++++++++ .../bytebuddy/matcher/testclasses/A.java | 5 ++ .../bytebuddy/matcher/testclasses/B.java | 8 +++ .../bytebuddy/matcher/testclasses/C.java | 5 ++ .../bytebuddy/matcher/testclasses/D.java | 8 +++ .../bytebuddy/matcher/testclasses/E.java | 5 ++ .../bytebuddy/matcher/testclasses/F.java | 8 +++ .../bytebuddy/matcher/testclasses/G.java | 5 ++ .../matcher/testclasses/TracedClass.java | 33 +++++++++ .../matcher/testclasses/UntracedClass.java | 24 +++++++ 14 files changed, 370 insertions(+) create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcherTest.groovy create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcherTest.groovy create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasInterfaceMatcherTest.groovy create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcherTest.groovy create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeMatcherTest.groovy create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/A.java create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/B.java create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/C.java create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/D.java create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/E.java create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/F.java create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/G.java create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/TracedClass.java create mode 100644 dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/UntracedClass.java diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcherTest.groovy b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcherTest.groovy new file mode 100644 index 0000000000..5d2ebcdf81 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/HasSuperMethodMatcherTest.groovy @@ -0,0 +1,68 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher + +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.A +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.B +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.C +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.F +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.G +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.TracedClass +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.UntracedClass +import datadog.trace.api.Trace +import datadog.trace.util.test.DDSpecification +import net.bytebuddy.description.method.MethodDescription + +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasSuperMethod +import static net.bytebuddy.matcher.ElementMatchers.isAnnotatedWith +import static net.bytebuddy.matcher.ElementMatchers.none + +class HasSuperMethodMatcherTest extends DDSpecification { + + def "test matcher #type.simpleName #method"() { + expect: + hasSuperMethod(isAnnotatedWith(Trace)).matches(argument) == result + + where: + type | method | result + A | "a" | false + B | "b" | true + C | "c" | false + F | "f" | true + G | "g" | false + TracedClass | "a" | true + UntracedClass | "a" | false + UntracedClass | "b" | true + + argument = new MethodDescription.ForLoadedMethod(type.getDeclaredMethod(method)) + } + + def "test constructor never matches"() { + setup: + def method = Mock(MethodDescription) + def matcher = hasSuperMethod(none()) + + when: + def result = matcher.matches(method) + + then: + !result + 1 * method.isConstructor() >> true + 0 * _ + } + + def "test traversal exceptions"() { + setup: + def method = Mock(MethodDescription) + def matcher = hasSuperMethod(none()) + def sigToken = new MethodDescription.ForLoadedMethod(A.getDeclaredMethod("a")).asSignatureToken() + + when: + def result = matcher.matches(method) + + then: + !result // default to false + 1 * method.isConstructor() >> false + 1 * method.asSignatureToken() >> sigToken + 1 * method.getDeclaringType() >> null + 0 * _ + } +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcherTest.groovy b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcherTest.groovy new file mode 100644 index 0000000000..f3a8f3c063 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeExtendsClassMatcherTest.groovy @@ -0,0 +1,50 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher + +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.A +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.B +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.F +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.G +import datadog.trace.util.test.DDSpecification +import net.bytebuddy.description.type.TypeDescription + +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.extendsClass +import static net.bytebuddy.matcher.ElementMatchers.named + +class SafeExtendsClassMatcherTest extends DDSpecification { + + def "test matcher #matcherClass.simpleName -> #type.simpleName"() { + expect: + extendsClass(matcher).matches(argument) == result + + where: + matcherClass | type | result + A | B | false + A | F | false + G | F | false + F | F | true + F | G | true + + matcher = named(matcherClass.name) + argument = TypeDescription.ForLoadedType.of(type) + } + + def "test traversal exceptions"() { + setup: + def type = Mock(TypeDescription) + def typeGeneric = Mock(TypeDescription.Generic) + def matcher = extendsClass(named(Object.name)) + + when: + def result = matcher.matches(type) + + then: + !result // default to false + noExceptionThrown() + 1 * type.asGenericType() >> typeGeneric + 1 * type.getTypeName() >> "type-name" + 1 * typeGeneric.asErasure() >> { throw new Exception("asErasure exception") } + 1 * typeGeneric.getTypeName() >> "typeGeneric-name" + 1 * type.getSuperClass() >> { throw new Exception("getSuperClass exception") } + 0 * _ + } +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasInterfaceMatcherTest.groovy b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasInterfaceMatcherTest.groovy new file mode 100644 index 0000000000..90a3258f8f --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasInterfaceMatcherTest.groovy @@ -0,0 +1,56 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher + +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.A +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.B +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.E +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.F +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.G +import datadog.trace.util.test.DDSpecification +import net.bytebuddy.description.type.TypeDescription + +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.hasInterface +import static net.bytebuddy.matcher.ElementMatchers.named + +class SafeHasInterfaceMatcherTest extends DDSpecification { + + def "test matcher #matcherClass.simpleName -> #type.simpleName"() { + expect: + hasInterface(matcher).matches(argument) == result + + where: + matcherClass | type | result + A | A | true + A | B | true + B | A | false + A | E | true + A | F | true + F | A | false + F | F | false + F | G | false + + matcher = named(matcherClass.name) + argument = TypeDescription.ForLoadedType.of(type) + } + + def "test traversal exceptions"() { + setup: + def type = Mock(TypeDescription) + def typeGeneric = Mock(TypeDescription.Generic) + def matcher = hasInterface(named(Object.name)) + + when: + def result = matcher.matches(type) + + then: + !result // default to false + noExceptionThrown() + 1 * type.isInterface() >> true + 1 * type.asGenericType() >> typeGeneric + 1 * typeGeneric.asErasure() >> { throw new Exception("asErasure exception") } + 1 * typeGeneric.getTypeName() >> "typeGeneric-name" + 1 * type.getInterfaces() >> { throw new Exception("getInterfaces exception") } + 1 * type.getSuperClass() >> { throw new Exception("getSuperClass exception") } + 2 * type.getTypeName() >> "type-name" + 0 * _ + } +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcherTest.groovy b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcherTest.groovy new file mode 100644 index 0000000000..370273d116 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeHasSuperTypeMatcherTest.groovy @@ -0,0 +1,55 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher + +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.A +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.B +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.E +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.F +import datadog.trace.agent.tooling.bytebuddy.matcher.testclasses.G +import datadog.trace.util.test.DDSpecification +import net.bytebuddy.description.type.TypeDescription + +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.safeHasSuperType +import static net.bytebuddy.matcher.ElementMatchers.named + +class SafeHasSuperTypeMatcherTest extends DDSpecification { + + def "test matcher #matcherClass.simpleName -> #type.simpleName"() { + expect: + safeHasSuperType(matcher).matches(argument) == result + + where: + matcherClass | type | result + A | A | true + A | B | true + B | A | false + A | E | true + A | F | true + F | A | false + F | F | true + F | G | true + + matcher = named(matcherClass.name) + argument = TypeDescription.ForLoadedType.of(type) + } + + def "test traversal exceptions"() { + setup: + def type = Mock(TypeDescription) + def typeGeneric = Mock(TypeDescription.Generic) + def matcher = safeHasSuperType(named(Object.name)) + + when: + def result = matcher.matches(type) + + then: + !result // default to false + noExceptionThrown() + 1 * type.asGenericType() >> typeGeneric + 1 * typeGeneric.asErasure() >> { throw new Exception("asErasure exception") } + 1 * typeGeneric.getTypeName() >> "typeGeneric-name" + 1 * type.getInterfaces() >> { throw new Exception("getInterfaces exception") } + 1 * type.getSuperClass() >> { throw new Exception("getSuperClass exception") } + 2 * type.getTypeName() >> "type-name" + 0 * _ + } +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeMatcherTest.groovy b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeMatcherTest.groovy new file mode 100644 index 0000000000..c290502fe7 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/SafeMatcherTest.groovy @@ -0,0 +1,40 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher + +import datadog.trace.util.test.DDSpecification +import net.bytebuddy.matcher.ElementMatcher + +import static datadog.trace.agent.tooling.bytebuddy.matcher.DDElementMatchers.failSafe + +class SafeMatcherTest extends DDSpecification { + + def mockMatcher = Mock(ElementMatcher) + + def "test matcher"() { + setup: + def matcher = failSafe(mockMatcher, "test") + + when: + def result = matcher.matches(new Object()) + + then: + 1 * mockMatcher.matches(_) >> match + result == match + + where: + match << [true, false] + } + + def "test matcher exception"() { + setup: + def matcher = failSafe(mockMatcher, "test") + + when: + def result = matcher.matches(new Object()) + + then: + 1 * mockMatcher.matches(_) >> { throw new Exception("matcher exception") } + 0 * _ + noExceptionThrown() + !result // default to false + } +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/A.java b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/A.java new file mode 100644 index 0000000000..43f723cb49 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/A.java @@ -0,0 +1,5 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher.testclasses; + +public interface A { + void a(); +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/B.java b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/B.java new file mode 100644 index 0000000000..d956115c2e --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/B.java @@ -0,0 +1,8 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher.testclasses; + +import datadog.trace.api.Trace; + +public interface B extends A { + @Trace + void b(); +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/C.java b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/C.java new file mode 100644 index 0000000000..4643231c7c --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/C.java @@ -0,0 +1,5 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher.testclasses; + +public interface C extends A, B { + void c(); +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/D.java b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/D.java new file mode 100644 index 0000000000..d5ae42e5fd --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/D.java @@ -0,0 +1,8 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher.testclasses; + +import datadog.trace.api.Trace; + +public interface D extends A, B, C { + @Trace + void d(); +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/E.java b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/E.java new file mode 100644 index 0000000000..859429ccb3 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/E.java @@ -0,0 +1,5 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher.testclasses; + +public interface E extends B, C, D { + void e(); +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/F.java b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/F.java new file mode 100644 index 0000000000..0c6e562897 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/F.java @@ -0,0 +1,8 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher.testclasses; + +import datadog.trace.api.Trace; + +public abstract class F implements E { + @Trace + public abstract void f(); +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/G.java b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/G.java new file mode 100644 index 0000000000..62e2ce4aa8 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/G.java @@ -0,0 +1,5 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher.testclasses; + +public abstract class G extends F { + public void g() {} +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/TracedClass.java b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/TracedClass.java new file mode 100644 index 0000000000..31a96b24a5 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/TracedClass.java @@ -0,0 +1,33 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher.testclasses; + +import datadog.trace.api.Trace; + +public class TracedClass extends UntracedClass { + @Trace + @Override + public void g() {} + + @Trace + @Override + public void f() {} + + @Trace + @Override + public void e() {} + + @Trace + @Override + public void d() {} + + @Trace + @Override + public void c() {} + + @Trace + @Override + public void b() {} + + @Trace + @Override + public void a() {} +} diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/UntracedClass.java b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/UntracedClass.java new file mode 100644 index 0000000000..2ae032e561 --- /dev/null +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/matcher/testclasses/UntracedClass.java @@ -0,0 +1,24 @@ +package datadog.trace.agent.tooling.bytebuddy.matcher.testclasses; + +public class UntracedClass extends G { + @Override + public void g() {} + + @Override + public void f() {} + + @Override + public void e() {} + + @Override + public void d() {} + + @Override + public void c() {} + + @Override + public void b() {} + + @Override + public void a() {} +} From c13cb2e60f77adee97b37a13e4076f490ee5822f Mon Sep 17 00:00:00 2001 From: Tyler Benson Date: Fri, 21 Feb 2020 16:18:52 -0800 Subject: [PATCH 4/4] Move a few other classes. --- .../java/datadog/trace/agent/tooling/AgentInstaller.java | 2 +- .../java/datadog/trace/agent/tooling/Instrumenter.java | 1 + .../trace/agent/tooling/bytebuddy/DDTransformers.java | 8 ++++---- .../agent/tooling/{ => bytebuddy}/ExceptionHandlers.java | 2 +- .../tooling/{ => bytebuddy}/GlobalIgnoresMatcher.java | 4 ++-- .../datadog/trace/agent/test/ExceptionHandlerTest.groovy | 2 +- 6 files changed, 10 insertions(+), 9 deletions(-) rename dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/{ => bytebuddy}/ExceptionHandlers.java (98%) rename dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/{ => bytebuddy}/GlobalIgnoresMatcher.java (97%) diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java index 63405cad6a..8dc101368d 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java @@ -1,7 +1,7 @@ package datadog.trace.agent.tooling; import static datadog.trace.agent.tooling.ClassLoaderMatcher.skipClassLoader; -import static datadog.trace.agent.tooling.GlobalIgnoresMatcher.globalIgnoresMatcher; +import static datadog.trace.agent.tooling.bytebuddy.GlobalIgnoresMatcher.globalIgnoresMatcher; import static net.bytebuddy.matcher.ElementMatchers.any; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java index 26550e07d0..f532086ae4 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java @@ -7,6 +7,7 @@ import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.not; import datadog.trace.agent.tooling.bytebuddy.DDTransformers; +import datadog.trace.agent.tooling.bytebuddy.ExceptionHandlers; import datadog.trace.agent.tooling.context.FieldBackedProvider; import datadog.trace.agent.tooling.context.InstrumentationContextProvider; import datadog.trace.agent.tooling.context.NoopContextProvider; diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDTransformers.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDTransformers.java index e50ca8d3c9..371e286158 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDTransformers.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/DDTransformers.java @@ -12,10 +12,10 @@ public class DDTransformers { new AgentBuilder.Transformer() { @Override public DynamicType.Builder transform( - final DynamicType.Builder builder, - final TypeDescription typeDescription, - final ClassLoader classLoader, - final JavaModule javaModule) { + final DynamicType.Builder builder, + final TypeDescription typeDescription, + final ClassLoader classLoader, + final JavaModule javaModule) { return builder.visit(TypeConstantAdjustment.INSTANCE); } }; diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/ExceptionHandlers.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/ExceptionHandlers.java similarity index 98% rename from dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/ExceptionHandlers.java rename to dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/ExceptionHandlers.java index 49db4f099f..09a275113f 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/ExceptionHandlers.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/ExceptionHandlers.java @@ -1,4 +1,4 @@ -package datadog.trace.agent.tooling; +package datadog.trace.agent.tooling.bytebuddy; import datadog.trace.bootstrap.ExceptionLogger; import net.bytebuddy.ClassFileVersion; diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/GlobalIgnoresMatcher.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/GlobalIgnoresMatcher.java similarity index 97% rename from dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/GlobalIgnoresMatcher.java rename to dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/GlobalIgnoresMatcher.java index 39b4271705..9b727a1eb7 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/GlobalIgnoresMatcher.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/GlobalIgnoresMatcher.java @@ -1,4 +1,4 @@ -package datadog.trace.agent.tooling; +package datadog.trace.agent.tooling.bytebuddy; import java.util.regex.Pattern; import net.bytebuddy.build.HashCodeAndEqualsPlugin; @@ -6,7 +6,7 @@ import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @HashCodeAndEqualsPlugin.Enhance -class GlobalIgnoresMatcher +public class GlobalIgnoresMatcher extends ElementMatcher.Junction.AbstractBase { private static final Pattern COM_MCHANGE_PROXY = diff --git a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/test/ExceptionHandlerTest.groovy b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/test/ExceptionHandlerTest.groovy index cedafaea29..ab440408c5 100644 --- a/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/test/ExceptionHandlerTest.groovy +++ b/dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/test/ExceptionHandlerTest.groovy @@ -3,7 +3,7 @@ package datadog.trace.agent.test import ch.qos.logback.classic.Level import ch.qos.logback.classic.Logger import ch.qos.logback.core.read.ListAppender -import datadog.trace.agent.tooling.ExceptionHandlers +import datadog.trace.agent.tooling.bytebuddy.ExceptionHandlers import datadog.trace.bootstrap.ExceptionLogger import datadog.trace.util.test.DDSpecification import net.bytebuddy.agent.ByteBuddyAgent