diff --git a/apm-sniffer/apm-agent/src/main/java/org/apache/skywalking/apm/agent/SkyWalkingAgent.java b/apm-sniffer/apm-agent/src/main/java/org/apache/skywalking/apm/agent/SkyWalkingAgent.java index 6dbc30736..395d1290a 100644 --- a/apm-sniffer/apm-agent/src/main/java/org/apache/skywalking/apm/agent/SkyWalkingAgent.java +++ b/apm-sniffer/apm-agent/src/main/java/org/apache/skywalking/apm/agent/SkyWalkingAgent.java @@ -25,6 +25,7 @@ import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.dynamic.DynamicType; import net.bytebuddy.dynamic.scaffold.TypeValidation; import net.bytebuddy.matcher.ElementMatcher; +import net.bytebuddy.matcher.ElementMatchers; import net.bytebuddy.utility.JavaModule; import org.apache.skywalking.apm.agent.core.boot.ServiceManager; import org.apache.skywalking.apm.agent.core.conf.Config; @@ -69,13 +70,16 @@ public class SkyWalkingAgent { .with(TypeValidation.of(Config.Agent.IS_OPEN_DEBUGGING_CLASS)); new AgentBuilder.Default(byteBuddy) - .ignore(nameStartsWith("net.bytebuddy.")) - .ignore(nameStartsWith("org.slf4j.")) - .ignore(nameStartsWith("org.apache.logging.")) - .ignore(nameStartsWith("org.groovy.")) - .ignore(nameContains("javassist")) - .ignore(nameContains(".asm.")) - .ignore(allSkyWalkingAgentExcludeToolkit()) + .ignore( + nameStartsWith("net.bytebuddy.") + .or(nameStartsWith("org.slf4j.")) + .or(nameStartsWith("org.apache.logging.")) + .or(nameStartsWith("org.groovy.")) + .or(nameContains("javassist")) + .or(nameContains(".asm.")) + .or(nameStartsWith("sun.reflect")) + .or(allSkyWalkingAgentExcludeToolkit()) + .or(ElementMatchers.isSynthetic())) .type(pluginFinder.buildMatch()) .transform(new Transformer(pluginFinder)) .with(new Listener())