From f9653bbdf375497cf0a7d7fd8fe0d51c1a4c0457 Mon Sep 17 00:00:00 2001 From: wusheng Date: Sun, 31 Jul 2016 22:22:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BAagent=E5=88=9B=E5=BB=BA=E4=B8=93?= =?UTF-8?q?=E6=9C=89=E7=9A=84=E5=85=A8=E5=B1=80=E5=8C=B9=E9=85=8D=E5=99=A8?= =?UTF-8?q?=E3=80=82=E7=94=A8=E4=BA=8E=E6=8E=A7=E5=88=B6=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E8=BF=9B=E5=85=A5=E5=A2=9E=E5=BC=BA=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../skywalking/agent/SkywalkingAgent.java | 9 ++++++++- .../agent/junction/AbstractJunction.java | 18 ++++++++++++++++++ .../junction/SkyWalkingEnhanceMatcher.java | 13 +++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/AbstractJunction.java create mode 100644 skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/SkyWalkingEnhanceMatcher.java diff --git a/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/SkywalkingAgent.java b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/SkywalkingAgent.java index 68d3db2ce..11cc68691 100644 --- a/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/SkywalkingAgent.java +++ b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/SkywalkingAgent.java @@ -1,5 +1,6 @@ package com.ai.cloud.skywalking.agent; +import com.ai.cloud.skywalking.agent.junction.SkyWalkingEnhanceMatcher; import com.ai.cloud.skywalking.conf.AuthDesc; import com.ai.cloud.skywalking.conf.Config; import com.ai.cloud.skywalking.logging.LogManager; @@ -10,6 +11,7 @@ import net.bytebuddy.agent.builder.AgentBuilder; import net.bytebuddy.description.NamedElement; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.dynamic.DynamicType; +import net.bytebuddy.matcher.BooleanMatcher; import net.bytebuddy.matcher.ElementMatcher; import net.bytebuddy.matcher.ElementMatchers; @@ -19,6 +21,7 @@ import java.net.URL; import java.util.List; import static net.bytebuddy.matcher.ElementMatchers.any; +import static net.bytebuddy.matcher.ElementMatchers.named; public class SkywalkingAgent { @@ -56,7 +59,11 @@ public class SkywalkingAgent { } private static ElementMatcher.Junction exclusivePackageClass() { - return any(); + return myMatcher(); + } + + private static ElementMatcher.Junction myMatcher() { + return new SkyWalkingEnhanceMatcher(); } diff --git a/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/AbstractJunction.java b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/AbstractJunction.java new file mode 100644 index 000000000..4fbb4c962 --- /dev/null +++ b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/AbstractJunction.java @@ -0,0 +1,18 @@ +package com.ai.cloud.skywalking.agent.junction; + +import net.bytebuddy.matcher.ElementMatcher; + +/** + * Created by wusheng on 16/7/31. + */ +public abstract class AbstractJunction implements ElementMatcher.Junction { + @Override + public Junction and(ElementMatcher other) { + return new Conjunction(this, other); + } + + @Override + public Junction or(ElementMatcher other) { + return new Disjunction(this, other); + } +} diff --git a/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/SkyWalkingEnhanceMatcher.java b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/SkyWalkingEnhanceMatcher.java new file mode 100644 index 000000000..38b30b129 --- /dev/null +++ b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/SkyWalkingEnhanceMatcher.java @@ -0,0 +1,13 @@ +package com.ai.cloud.skywalking.agent.junction; + +import net.bytebuddy.description.NamedElement; + +/** + * Created by wusheng on 16/7/31. + */ +public class SkyWalkingEnhanceMatcher extends AbstractJunction { + @Override + public boolean matches(T target) { + return false; + } +}