diff --git a/instrumentation/couchbase/couchbase-2.6/couchbase-2.6.gradle b/instrumentation/couchbase/couchbase-2.6/couchbase-2.6.gradle index fde810743f..a1b4fdb69b 100644 --- a/instrumentation/couchbase/couchbase-2.6/couchbase-2.6.gradle +++ b/instrumentation/couchbase/couchbase-2.6/couchbase-2.6.gradle @@ -1,27 +1,13 @@ apply from: "$rootDir/gradle/instrumentation.gradle" muzzle { - // Version 2.7.5 and 2.7.8 were not released properly and muzzle cannot test against it causing failure. - // So we have to skip them resulting in this verbose setup. - fail { - group = 'com.couchbase.client' - module = 'java-client' - versions = "[,2.6.0)" - } pass { group = 'com.couchbase.client' module = 'java-client' - versions = "[2.6.0,2.7.5)" - } - pass { - group = 'com.couchbase.client' - module = 'java-client' - versions = "[2.7.6,2.7.8)" - } - pass { - group = 'com.couchbase.client' - module = 'java-client' - versions = "[2.7.9,3.0.0)" + versions = "[2.6.0,3)" + // Version 2.7.5 and 2.7.8 were not released properly and muzzle cannot test against it causing failure. + skipVersions += ['2.7.5', '2.7.8'] + assertInverse = true } fail { group = 'com.couchbase.client' diff --git a/instrumentation/couchbase/couchbase-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java b/instrumentation/couchbase/couchbase-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java index bc1548f7cf..0d934636f8 100644 --- a/instrumentation/couchbase/couchbase-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java +++ b/instrumentation/couchbase/couchbase-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java @@ -15,7 +15,6 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArgument; import static net.bytebuddy.matcher.ElementMatchers.takesArguments; import com.couchbase.client.core.message.CouchbaseRequest; -import com.couchbase.client.java.transcoder.crypto.JsonCryptoTranscoder; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.attributes.SemanticAttributes; import io.opentelemetry.instrumentation.api.tracer.utils.NetPeerUtils; @@ -84,10 +83,5 @@ final class CouchbaseNetworkInstrumentation implements TypeInstrumentation { span.setAttribute("local.address", localSocket); } } - - // 2.6.0 and above - public static void muzzleCheck(JsonCryptoTranscoder transcoder) { - transcoder.documentType(); - } } } diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/CriteriaInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/CriteriaInstrumentation.java index e4490c6800..682cda7c20 100644 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/CriteriaInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/CriteriaInstrumentation.java @@ -46,7 +46,7 @@ final class CriteriaInstrumentation implements TypeInstrumentation { CriteriaInstrumentation.class.getName() + "$CriteriaMethodAdvice"); } - public static class CriteriaMethodAdvice extends V3Advice { + public static class CriteriaMethodAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope startMethod( diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/HibernateInstrumentationModule.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/HibernateInstrumentationModule.java index 1512b32535..52ce054b2b 100644 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/HibernateInstrumentationModule.java +++ b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/HibernateInstrumentationModule.java @@ -5,6 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.hibernate.v3_3; +import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed; import static java.util.Arrays.asList; import com.google.auto.service.AutoService; @@ -15,6 +16,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import net.bytebuddy.matcher.ElementMatcher; @AutoService(InstrumentationModule.class) public class HibernateInstrumentationModule extends InstrumentationModule { @@ -23,12 +25,20 @@ public class HibernateInstrumentationModule extends InstrumentationModule { super("hibernate", "hibernate-3.3"); } + @Override + public ElementMatcher.Junction classLoaderMatcher() { + return hasClassesNamed( + // Not in 4.0 + "org.hibernate.classic.Validatable", + // Not before 3.3.0.GA + "org.hibernate.transaction.JBossTransactionManagerLookup"); + } + @Override public String[] helperClassNames() { return new String[] { "io.opentelemetry.javaagent.instrumentation.hibernate.SessionMethodUtils", "io.opentelemetry.javaagent.instrumentation.hibernate.HibernateDecorator", - packageName + ".V3Advice", }; } diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/QueryInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/QueryInstrumentation.java index db724d3204..11070598c1 100644 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/QueryInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/QueryInstrumentation.java @@ -45,7 +45,7 @@ final class QueryInstrumentation implements TypeInstrumentation { QueryInstrumentation.class.getName() + "$QueryMethodAdvice"); } - public static class QueryMethodAdvice extends V3Advice { + public static class QueryMethodAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope startMethod(@Advice.This Query query) { diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java index 28486dabdd..781e15c6f2 100644 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java @@ -57,7 +57,7 @@ final class SessionFactoryInstrumentation implements TypeInstrumentation { SessionFactoryInstrumentation.class.getName() + "$SessionFactoryAdvice"); } - public static class SessionFactoryAdvice extends V3Advice { + public static class SessionFactoryAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void openSession(@Advice.Return Object session) { diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java index 33d49f424b..794da1c30a 100644 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java @@ -106,7 +106,7 @@ final class SessionInstrumentation implements TypeInstrumentation { return transformers; } - public static class SessionCloseAdvice extends V3Advice { + public static class SessionCloseAdvice { @Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class) public static void closeSession( @@ -134,7 +134,7 @@ final class SessionInstrumentation implements TypeInstrumentation { } } - public static class SessionMethodAdvice extends V3Advice { + public static class SessionMethodAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope startMethod( @@ -168,7 +168,7 @@ final class SessionInstrumentation implements TypeInstrumentation { } } - public static class GetQueryAdvice extends V3Advice { + public static class GetQueryAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void getQuery(@Advice.This Object session, @Advice.Return Query query) { @@ -189,7 +189,7 @@ final class SessionInstrumentation implements TypeInstrumentation { } } - public static class GetTransactionAdvice extends V3Advice { + public static class GetTransactionAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void getTransaction( @@ -212,7 +212,7 @@ final class SessionInstrumentation implements TypeInstrumentation { } } - public static class GetCriteriaAdvice extends V3Advice { + public static class GetCriteriaAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void getCriteria(@Advice.This Object session, @Advice.Return Criteria criteria) { diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/TransactionInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/TransactionInstrumentation.java index e78572cfc2..d2c6b58609 100644 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/TransactionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/TransactionInstrumentation.java @@ -45,7 +45,7 @@ final class TransactionInstrumentation implements TypeInstrumentation { TransactionInstrumentation.class.getName() + "$TransactionCommitAdvice"); } - public static class TransactionCommitAdvice extends V3Advice { + public static class TransactionCommitAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope startCommit(@Advice.This Transaction transaction) { diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/V3Advice.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/V3Advice.java deleted file mode 100644 index 003454000c..0000000000 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/V3Advice.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.instrumentation.hibernate.v3_3; - -import org.hibernate.classic.Validatable; -import org.hibernate.transaction.JBossTransactionManagerLookup; - -public abstract class V3Advice { - - /** - * Some cases of instrumentation will match more broadly than others, so this unused method allows - * all instrumentation to uniformly match versions of Hibernate between 3.3 and 4. - */ - public static void muzzleCheck( - // Not in 4.0 - Validatable validatable, - // Not before 3.3.0.GA - JBossTransactionManagerLookup lookup) { - validatable.validate(); - lookup.getUserTransactionName(); - } -} diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaInstrumentation.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaInstrumentation.java index 2dcba414e6..070d16f0e9 100644 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaInstrumentation.java @@ -46,7 +46,7 @@ final class CriteriaInstrumentation implements TypeInstrumentation { CriteriaInstrumentation.class.getName() + "$CriteriaMethodAdvice"); } - public static class CriteriaMethodAdvice extends V4Advice { + public static class CriteriaMethodAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope startMethod( diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/HibernateInstrumentationModule.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/HibernateInstrumentationModule.java index 5ab673006c..259ecc2f5b 100644 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/HibernateInstrumentationModule.java +++ b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/HibernateInstrumentationModule.java @@ -28,7 +28,6 @@ public class HibernateInstrumentationModule extends InstrumentationModule { return new String[] { "io.opentelemetry.javaagent.instrumentation.hibernate.SessionMethodUtils", "io.opentelemetry.javaagent.instrumentation.hibernate.HibernateDecorator", - packageName + ".V4Advice", }; } diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryInstrumentation.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryInstrumentation.java index 7dd8096b08..8809ce83cc 100644 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryInstrumentation.java @@ -45,7 +45,7 @@ final class QueryInstrumentation implements TypeInstrumentation { QueryInstrumentation.class.getName() + "$QueryMethodAdvice"); } - public static class QueryMethodAdvice extends V4Advice { + public static class QueryMethodAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope startMethod(@Advice.This Query query) { diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionFactoryInstrumentation.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionFactoryInstrumentation.java index da2ec5d88d..7ce25a95f3 100644 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionFactoryInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionFactoryInstrumentation.java @@ -52,7 +52,7 @@ final class SessionFactoryInstrumentation implements TypeInstrumentation { SessionFactoryInstrumentation.class.getName() + "$SessionFactoryAdvice"); } - public static class SessionFactoryAdvice extends V4Advice { + public static class SessionFactoryAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void openSession(@Advice.Return SharedSessionContract session) { diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java index 22b749a2eb..218fcfc4b3 100644 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java @@ -103,7 +103,7 @@ final class SessionInstrumentation implements TypeInstrumentation { return transformers; } - public static class SessionCloseAdvice extends V4Advice { + public static class SessionCloseAdvice { @Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class) public static void closeSession( @@ -123,7 +123,7 @@ final class SessionInstrumentation implements TypeInstrumentation { } } - public static class SessionMethodAdvice extends V4Advice { + public static class SessionMethodAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope startMethod( @@ -149,7 +149,7 @@ final class SessionInstrumentation implements TypeInstrumentation { } } - public static class GetQueryAdvice extends V4Advice { + public static class GetQueryAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void getQuery( @@ -165,7 +165,7 @@ final class SessionInstrumentation implements TypeInstrumentation { } } - public static class GetTransactionAdvice extends V4Advice { + public static class GetTransactionAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void getTransaction( @@ -181,7 +181,7 @@ final class SessionInstrumentation implements TypeInstrumentation { } } - public static class GetCriteriaAdvice extends V4Advice { + public static class GetCriteriaAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void getCriteria( diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/TransactionInstrumentation.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/TransactionInstrumentation.java index 3e4f20330a..f0e0a38a26 100644 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/TransactionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/TransactionInstrumentation.java @@ -45,7 +45,7 @@ final class TransactionInstrumentation implements TypeInstrumentation { TransactionInstrumentation.class.getName() + "$TransactionCommitAdvice"); } - public static class TransactionCommitAdvice extends V4Advice { + public static class TransactionCommitAdvice { @Advice.OnMethodEnter(suppress = Throwable.class) public static SpanWithScope startCommit(@Advice.This Transaction transaction) { diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/V4Advice.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/V4Advice.java deleted file mode 100644 index 19f3431af0..0000000000 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/V4Advice.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.instrumentation.hibernate.v4_0; - -import org.hibernate.SharedSessionContract; - -public abstract class V4Advice { - - /** - * Some cases of instrumentation will match more broadly than others, so this unused method allows - * all instrumentation to uniformly match versions of Hibernate starting at 4.0. - */ - public static void muzzleCheck(SharedSessionContract contract) { - contract.createCriteria(""); - } -} diff --git a/instrumentation/log4j/log4j-2.13.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/v2_13_2/Log4j2InstrumentationModule.java b/instrumentation/log4j/log4j-2.13.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/v2_13_2/Log4j2InstrumentationModule.java index 1b74cd8926..28a03cebfa 100644 --- a/instrumentation/log4j/log4j-2.13.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/v2_13_2/Log4j2InstrumentationModule.java +++ b/instrumentation/log4j/log4j-2.13.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/v2_13_2/Log4j2InstrumentationModule.java @@ -7,14 +7,17 @@ package io.opentelemetry.javaagent.instrumentation.log4j.v2_13_2; import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed; import static java.util.Collections.singletonList; +import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.none; import com.google.auto.service.AutoService; +import io.opentelemetry.instrumentation.log4j.v2_13_2.OpenTelemetryContextDataProvider; import io.opentelemetry.javaagent.tooling.InstrumentationModule; import io.opentelemetry.javaagent.tooling.TypeInstrumentation; -import java.util.Collections; import java.util.List; import java.util.Map; +import net.bytebuddy.asm.Advice; import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @@ -63,8 +66,18 @@ public final class Log4j2InstrumentationModule extends InstrumentationModule { @Override public Map, String> transformers() { - // Nothing to instrument, injecting helper resource & class is enough - return Collections.emptyMap(); + // Nothing to instrument, no methods to match + return singletonMap(none(), getClass().getName() + "$MuzzleCheckAdvice"); + } + + // This way muzzle will collect OpenTelemetryContextDataProvider references + public static class MuzzleCheckAdvice { + @Advice.OnMethodEnter + public static void onEnter() {} + + public static void muzzleCheck(OpenTelemetryContextDataProvider contextDataProvider) { + contextDataProvider.supplyContextData(); + } } } } diff --git a/instrumentation/log4j/log4j-2.7/log4j-2.7.gradle b/instrumentation/log4j/log4j-2.7/log4j-2.7.gradle index 1f2c850c8d..71319b3919 100644 --- a/instrumentation/log4j/log4j-2.7/log4j-2.7.gradle +++ b/instrumentation/log4j/log4j-2.7/log4j-2.7.gradle @@ -5,6 +5,7 @@ muzzle { group = "org.apache.logging.log4j" module = "log4j-core" versions = "[2.7,2.13.2)" + assertInverse = true } } diff --git a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/AbstractNettyAdvice.java b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/AbstractNettyAdvice.java deleted file mode 100644 index aa2c5a8e4d..0000000000 --- a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/AbstractNettyAdvice.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.instrumentation.netty.v3_8; - -import org.jboss.netty.handler.codec.http.HttpHeaders; -import org.jboss.netty.handler.codec.http.HttpRequest; - -public class AbstractNettyAdvice { - public static void muzzleCheck(HttpRequest httpRequest) { - HttpHeaders headers = httpRequest.headers(); - } -} diff --git a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/ChannelFutureListenerInstrumentation.java b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/ChannelFutureListenerInstrumentation.java index e70d76ae3a..f9e149c825 100644 --- a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/ChannelFutureListenerInstrumentation.java +++ b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/ChannelFutureListenerInstrumentation.java @@ -50,7 +50,7 @@ final class ChannelFutureListenerInstrumentation implements TypeInstrumentation ChannelFutureListenerInstrumentation.class.getName() + "$OperationCompleteAdvice"); } - public static class OperationCompleteAdvice extends AbstractNettyAdvice { + public static class OperationCompleteAdvice { @Advice.OnMethodEnter public static Scope activateScope(@Advice.Argument(0) ChannelFuture future) { /* diff --git a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelInstrumentation.java b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelInstrumentation.java index 93ce0065e3..0160cb1551 100644 --- a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelInstrumentation.java +++ b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelInstrumentation.java @@ -49,7 +49,7 @@ final class NettyChannelInstrumentation implements TypeInstrumentation { return transformers; } - public static class ChannelConnectAdvice extends AbstractNettyAdvice { + public static class ChannelConnectAdvice { @Advice.OnMethodEnter public static void addConnectContinuation(@Advice.This Channel channel) { Context context = Java8BytecodeBridge.currentContext(); diff --git a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelPipelineInstrumentation.java b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelPipelineInstrumentation.java index 61271cfc14..7c5c352cec 100644 --- a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelPipelineInstrumentation.java +++ b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelPipelineInstrumentation.java @@ -110,7 +110,7 @@ final class NettyChannelPipelineInstrumentation implements TypeInstrumentation { } } - public static class ChannelPipelineAdd2ArgsAdvice extends AbstractNettyAdvice { + public static class ChannelPipelineAdd2ArgsAdvice { @Advice.OnMethodEnter public static int checkDepth( @Advice.This ChannelPipeline pipeline, @Advice.Argument(1) ChannelHandler handler) { @@ -139,7 +139,7 @@ final class NettyChannelPipelineInstrumentation implements TypeInstrumentation { } } - public static class ChannelPipelineAdd3ArgsAdvice extends AbstractNettyAdvice { + public static class ChannelPipelineAdd3ArgsAdvice { @Advice.OnMethodEnter public static int checkDepth( @Advice.This ChannelPipeline pipeline, @Advice.Argument(2) ChannelHandler handler) { diff --git a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyInstrumentationModule.java b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyInstrumentationModule.java index bea143594d..acfe637c9d 100644 --- a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyInstrumentationModule.java +++ b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyInstrumentationModule.java @@ -40,7 +40,6 @@ public class NettyInstrumentationModule extends InstrumentationModule { packageName + ".server.HttpServerRequestTracingHandler", packageName + ".server.HttpServerResponseTracingHandler", packageName + ".server.HttpServerTracingHandler", - packageName + ".AbstractNettyAdvice" }; } diff --git a/instrumentation/spring/spring-data-1.8/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/data/SpringDataInstrumentationModule.java b/instrumentation/spring/spring-data-1.8/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/data/SpringDataInstrumentationModule.java index 21ba3772d6..467e997a90 100644 --- a/instrumentation/spring/spring-data-1.8/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/data/SpringDataInstrumentationModule.java +++ b/instrumentation/spring/spring-data-1.8/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/data/SpringDataInstrumentationModule.java @@ -74,12 +74,6 @@ public final class SpringDataInstrumentationModule extends InstrumentationModule repositoryFactorySupport.addRepositoryProxyPostProcessor( InterceptingRepositoryProxyPostProcessor.INSTANCE); } - - // Muzzle doesn't detect the "Override" implementation dependency, so we have to help it. - private void muzzleCheck(RepositoryProxyPostProcessor processor) { - processor.postProcess(null, null); - // (see usage in InterceptingRepositoryProxyPostProcessor below) - } } public static final class InterceptingRepositoryProxyPostProcessor