提交 7fd05d04 编写于 作者: hpy253215039's avatar hpy253215039 提交者: wu-sheng

fixed #1573. I had test on my env. (#1629)

上级 36b04bdf
......@@ -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<MethodDescription> 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() {
......
......@@ -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<MethodDescription> 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() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册