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

This commit is contained in:
survior 2018-09-05 21:14:30 +08:00 committed by 吴晟 Wu Sheng
parent 1aa87fa2b5
commit 620536d05d
2 changed files with 33 additions and 33 deletions

View File

@ -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() {

View File

@ -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() {