From 620536d05d3387a41f4e428166690795d165049e Mon Sep 17 00:00:00 2001 From: survior Date: Wed, 5 Sep 2018 21:14:30 +0800 Subject: [PATCH] fixed #1573. I had test on my env. (#1629) --- .../define/MotanConsumerInstrumentation.java | 33 ++++++++++++++++--- .../define/MotanProviderInstrumentation.java | 33 +++---------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/apache/skywalking/apm/plugin/motan/define/MotanConsumerInstrumentation.java b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/apache/skywalking/apm/plugin/motan/define/MotanConsumerInstrumentation.java index 21328955a..6d953a835 100644 --- a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/apache/skywalking/apm/plugin/motan/define/MotanConsumerInstrumentation.java +++ b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/apache/skywalking/apm/plugin/motan/define/MotanConsumerInstrumentation.java @@ -18,6 +18,7 @@ package org.apache.skywalking.apm.plugin.motan.define; +import com.weibo.api.motan.rpc.Request; import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint; @@ -26,13 +27,23 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInst import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch; import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch; +import static net.bytebuddy.matcher.ElementMatchers.any; import static net.bytebuddy.matcher.ElementMatchers.named; public class MotanConsumerInstrumentation extends ClassInstanceMethodsEnhancePluginDefine { - private static final String ENHANCE_CLASS = "com.weibo.api.motan.transport.ProviderMessageRouter"; - - private static final String INVOKE_INTERCEPT_CLASS = "org.apache.skywalking.apm.plugin.motan.MotanProviderInterceptor"; + /** + * Enhance class. + */ + private static final String ENHANCE_CLASS = "com.weibo.api.motan.rpc.AbstractReferer"; + /** + * Class that intercept all constructor of ${@link com.weibo.api.motan.rpc.AbstractProvider}. + */ + private static final String CONSTRUCTOR_INTERCEPT_CLASS = "org.apache.skywalking.apm.plugin.motan.MotanConsumerInterceptor"; + /** + * Class that intercept {@link com.weibo.api.motan.rpc.AbstractProvider#call(Request)}. + */ + private static final String PROVIDER_INVOKE_INTERCEPT_CLASS = "org.apache.skywalking.apm.plugin.motan.MotanConsumerInterceptor"; @Override protected ClassMatch enhanceClass() { @@ -41,7 +52,19 @@ public class MotanConsumerInstrumentation extends ClassInstanceMethodsEnhancePlu @Override protected ConstructorInterceptPoint[] getConstructorsInterceptPoints() { - return new ConstructorInterceptPoint[0]; + return new ConstructorInterceptPoint[] { + new ConstructorInterceptPoint() { + @Override + public ElementMatcher getConstructorMatcher() { + return any(); + } + + @Override + public String getConstructorInterceptor() { + return CONSTRUCTOR_INTERCEPT_CLASS; + } + } + }; } @Override @@ -55,7 +78,7 @@ public class MotanConsumerInstrumentation extends ClassInstanceMethodsEnhancePlu @Override public String getMethodsInterceptor() { - return INVOKE_INTERCEPT_CLASS; + return PROVIDER_INVOKE_INTERCEPT_CLASS; } @Override public boolean isOverrideArgs() { diff --git a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/apache/skywalking/apm/plugin/motan/define/MotanProviderInstrumentation.java b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/apache/skywalking/apm/plugin/motan/define/MotanProviderInstrumentation.java index 36159da97..dcc38e678 100644 --- a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/apache/skywalking/apm/plugin/motan/define/MotanProviderInstrumentation.java +++ b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/apache/skywalking/apm/plugin/motan/define/MotanProviderInstrumentation.java @@ -18,7 +18,6 @@ package org.apache.skywalking.apm.plugin.motan.define; -import com.weibo.api.motan.rpc.Request; import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint; @@ -27,23 +26,13 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInst import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch; import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch; -import static net.bytebuddy.matcher.ElementMatchers.any; import static net.bytebuddy.matcher.ElementMatchers.named; public class MotanProviderInstrumentation extends ClassInstanceMethodsEnhancePluginDefine { - /** - * Enhance class. - */ - private static final String ENHANCE_CLASS = "com.weibo.api.motan.rpc.AbstractReferer"; - /** - * Class that intercept all constructor of ${@link com.weibo.api.motan.rpc.AbstractProvider}. - */ - private static final String CONSTRUCTOR_INTERCEPT_CLASS = "org.apache.skywalking.apm.plugin.motan.MotanConsumerInterceptor"; - /** - * Class that intercept {@link com.weibo.api.motan.rpc.AbstractProvider#call(Request)}. - */ - private static final String PROVIDER_INVOKE_INTERCEPT_CLASS = "org.apache.skywalking.apm.plugin.motan.MotanConsumerInterceptor"; + private static final String ENHANCE_CLASS = "com.weibo.api.motan.transport.ProviderMessageRouter"; + + private static final String INVOKE_INTERCEPT_CLASS = "org.apache.skywalking.apm.plugin.motan.MotanProviderInterceptor"; @Override protected ClassMatch enhanceClass() { @@ -52,19 +41,7 @@ public class MotanProviderInstrumentation extends ClassInstanceMethodsEnhancePlu @Override protected ConstructorInterceptPoint[] getConstructorsInterceptPoints() { - return new ConstructorInterceptPoint[] { - new ConstructorInterceptPoint() { - @Override - public ElementMatcher getConstructorMatcher() { - return any(); - } - - @Override - public String getConstructorInterceptor() { - return CONSTRUCTOR_INTERCEPT_CLASS; - } - } - }; + return new ConstructorInterceptPoint[0]; } @Override @@ -78,7 +55,7 @@ public class MotanProviderInstrumentation extends ClassInstanceMethodsEnhancePlu @Override public String getMethodsInterceptor() { - return PROVIDER_INVOKE_INTERCEPT_CLASS; + return INVOKE_INTERCEPT_CLASS; } @Override public boolean isOverrideArgs() {