diff --git a/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/DubboInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/DubboInterceptor.java index 7ad8a65d6..1ce09301f 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/DubboInterceptor.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/DubboInterceptor.java @@ -54,11 +54,11 @@ public class DubboInterceptor implements InstanceMethodsAroundInterceptor { Span span = ContextManager.INSTANCE.createSpan(generateOperationName(requestURL, invocation)); Tags.URL.set(span, generateRequestURL(requestURL, invocation)); Tags.COMPONENT.set(span, DUBBO_COMPONENT); - Tags.PEER_HOST.set(span, requestURL.getHost()); - Tags.PEER_PORT.set(span, requestURL.getPort()); Tags.SPAN_LAYER.asRPCFramework(span); if (isConsumer) { + Tags.PEER_HOST.set(span, requestURL.getHost()); + Tags.PEER_PORT.set(span, requestURL.getPort()); Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT); ContextCarrier contextCarrier = new ContextCarrier(); ContextManager.INSTANCE.inject(contextCarrier); diff --git a/skywalking-sniffer/skywalking-sdk-plugin/httpClient-4.x-plugin/src/main/java/com/a/eye/skywalking/plugin/httpClient/v4/HttpClientExecuteInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/httpClient-4.x-plugin/src/main/java/com/a/eye/skywalking/plugin/httpClient/v4/HttpClientExecuteInterceptor.java index e59e67a58..c801f66c7 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/httpClient-4.x-plugin/src/main/java/com/a/eye/skywalking/plugin/httpClient/v4/HttpClientExecuteInterceptor.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/httpClient-4.x-plugin/src/main/java/com/a/eye/skywalking/plugin/httpClient/v4/HttpClientExecuteInterceptor.java @@ -24,7 +24,7 @@ import org.apache.http.StatusLine; */ public class HttpClientExecuteInterceptor implements InstanceMethodsAroundInterceptor { public static final String HEADER_NAME_OF_CONTEXT_DATA = "SWTraceContext"; - private static final String COMPONENT_NAME = "Http"; + private static final String COMPONENT_NAME = "HttpClient"; @Override public void beforeMethod(EnhancedClassInstanceContext context, @@ -56,7 +56,7 @@ public class HttpClientExecuteInterceptor implements InstanceMethodsAroundInterc * @return request URL */ private String generateURL(HttpHost httpHost, HttpRequest httpRequest) { - return httpHost.getSchemeName() + "://" + httpHost.getHostName() + ":" + httpHost.getPort() + httpRequest.getRequestLine().getUri(); + return httpRequest.getRequestLine().getUri(); } @Override diff --git a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanConsumerFetchRequestURLInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanConsumerFetchRequestURLInterceptor.java deleted file mode 100644 index a1d1b3a5d..000000000 --- a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanConsumerFetchRequestURLInterceptor.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.a.eye.skywalking.plugin.motan; - -import com.a.eye.skywalking.api.plugin.interceptor.EnhancedClassInstanceContext; -import com.a.eye.skywalking.api.plugin.interceptor.enhance.InstanceMethodInvokeContext; -import com.a.eye.skywalking.api.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; -import com.a.eye.skywalking.api.plugin.interceptor.enhance.MethodInterceptResult; - -/** - * {@link MotanConsumerFetchRequestURLInterceptor} record {@link com.weibo.api.motan.rpc.URL} to {@link EnhancedClassInstanceContext#context} - * for the operation name that create span need. - * - * @author zhangxin - */ -public class MotanConsumerFetchRequestURLInterceptor implements InstanceMethodsAroundInterceptor { - - private static final String CONTEXT_NAME_OF_REQUEST_URL = "REQUEST_URL"; - - /** - * Fetch the request url from the first param of all constructor, and put request - * url into {@link EnhancedClassInstanceContext#context}. - * - * @param context instance context, a class instance only has one {@link EnhancedClassInstanceContext} instance. - * @param interceptorContext method context, includes class name, method name, etc. - * @param result change this result, if you want to truncate the method. - */ - @Override - public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, MethodInterceptResult result) { - context.set(CONTEXT_NAME_OF_REQUEST_URL, interceptorContext.allArguments()[0]); - } - - @Override - public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, Object ret) { - return ret; - } - - @Override - public void handleMethodException(Throwable t, EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext) { - // do nothing - } -} diff --git a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInvokeInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInterceptor.java similarity index 70% rename from skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInvokeInterceptor.java rename to skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInterceptor.java index cb384ebe1..da0619081 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInvokeInterceptor.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInterceptor.java @@ -3,6 +3,8 @@ package com.a.eye.skywalking.plugin.motan; import com.a.eye.skywalking.api.context.ContextCarrier; import com.a.eye.skywalking.api.context.ContextManager; import com.a.eye.skywalking.api.plugin.interceptor.EnhancedClassInstanceContext; +import com.a.eye.skywalking.api.plugin.interceptor.enhance.ConstructorInvokeContext; +import com.a.eye.skywalking.api.plugin.interceptor.enhance.InstanceConstructorInterceptor; import com.a.eye.skywalking.api.plugin.interceptor.enhance.InstanceMethodInvokeContext; import com.a.eye.skywalking.api.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; import com.a.eye.skywalking.api.plugin.interceptor.enhance.MethodInterceptResult; @@ -13,37 +15,41 @@ import com.weibo.api.motan.rpc.Response; import com.weibo.api.motan.rpc.URL; /** - * {@link MotanConsumerInvokeInterceptor} create span by fetch request url from - * {@link EnhancedClassInstanceContext#context} and transport serialized context - * data to provider side through {@link Request#setAttachment(String, String)}. + * Current trace segment will ref the trace segment from previous level if the serialized context data that fetch + * from {@link Request#getAttachments()} is not null. + * + * {@link MotanConsumerInterceptor} intercept all constructor of {@link com.weibo.api.motan.rpc.AbstractProvider} for record + * the request url from consumer side. * * @author zhangxin */ -public class MotanConsumerInvokeInterceptor implements InstanceMethodsAroundInterceptor { +public class MotanConsumerInterceptor implements InstanceConstructorInterceptor, InstanceMethodsAroundInterceptor { /** - * Context name of request url in {@link EnhancedClassInstanceContext#context}. + * The */ - private static final String CONTEXT_NAME_OF_REQUEST_URL = "REQUEST_URL"; + private static final String KEY_NAME_OF_REQUEST_URL = "REQUEST_URL"; /** - * Attachment key of the serialized context data. + * The {@link Request#getAttachments()} key. It maps to the serialized {@link ContextCarrier}. */ private static final String ATTACHMENT_KEY_OF_CONTEXT_DATA = "SWTraceContext"; - /** * Motan component */ private static final String MOTAN_COMPONENT = "Motan"; + @Override + public void onConstruct(EnhancedClassInstanceContext context, ConstructorInvokeContext interceptorContext) { + context.set(KEY_NAME_OF_REQUEST_URL, interceptorContext.allArguments()[1]); + } + @Override public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, MethodInterceptResult result) { - URL url = (URL) context.get(CONTEXT_NAME_OF_REQUEST_URL); - + URL url = (URL) context.get(KEY_NAME_OF_REQUEST_URL); + com.weibo.api.motan.rpc.Request request = (com.weibo.api.motan.rpc.Request) interceptorContext.allArguments()[0]; if (url != null) { - Request request = (Request) interceptorContext.allArguments()[0]; - Span span = ContextManager.INSTANCE.createSpan(generateOperationName(url, request)); Tags.PEER_HOST.set(span, url.getHost()); Tags.PEER_PORT.set(span, url.getPort()); @@ -64,10 +70,9 @@ public class MotanConsumerInvokeInterceptor implements InstanceMethodsAroundInte Response response = (Response) ret; if (response != null && response.getException() != null) { Span span = ContextManager.INSTANCE.activeSpan(); - span.log(response.getException()); Tags.ERROR.set(span, true); + span.log(response.getException()); } - ContextManager.INSTANCE.stopSpan(); return ret; } @@ -79,6 +84,8 @@ public class MotanConsumerInvokeInterceptor implements InstanceMethodsAroundInte } + + /** * Generate operation name. * diff --git a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanProviderInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanProviderInterceptor.java index 73764170c..16fb55ab4 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanProviderInterceptor.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanProviderInterceptor.java @@ -3,8 +3,6 @@ package com.a.eye.skywalking.plugin.motan; import com.a.eye.skywalking.api.context.ContextCarrier; import com.a.eye.skywalking.api.context.ContextManager; import com.a.eye.skywalking.api.plugin.interceptor.EnhancedClassInstanceContext; -import com.a.eye.skywalking.api.plugin.interceptor.enhance.ConstructorInvokeContext; -import com.a.eye.skywalking.api.plugin.interceptor.enhance.InstanceConstructorInterceptor; import com.a.eye.skywalking.api.plugin.interceptor.enhance.InstanceMethodInvokeContext; import com.a.eye.skywalking.api.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; import com.a.eye.skywalking.api.plugin.interceptor.enhance.MethodInterceptResult; @@ -13,56 +11,43 @@ import com.a.eye.skywalking.trace.Span; import com.a.eye.skywalking.trace.tag.Tags; import com.weibo.api.motan.rpc.Request; import com.weibo.api.motan.rpc.Response; -import com.weibo.api.motan.rpc.URL; /** - * Current trace segment will ref the trace segment from previous level if the serialized context data that fetch - * from {@link Request#getAttachments()} is not null. - * - * {@link MotanProviderInterceptor} intercept all constructor of {@link com.weibo.api.motan.rpc.AbstractProvider} for record - * the request url from consumer side. + * {@link MotanProviderInterceptor} create span by fetch request url from + * {@link EnhancedClassInstanceContext#context} and transport serialized context + * data to provider side through {@link Request#setAttachment(String, String)}. * * @author zhangxin */ -public class MotanProviderInterceptor implements InstanceConstructorInterceptor, InstanceMethodsAroundInterceptor { +public class MotanProviderInterceptor implements InstanceMethodsAroundInterceptor { /** - * The + * Context name of request url in {@link EnhancedClassInstanceContext#context}. */ - private static final String KEY_NAME_OF_REQUEST_URL = "REQUEST_URL"; + private static final String CONTEXT_NAME_OF_REQUEST_URL = "REQUEST_URL"; /** - * The {@link Request#getAttachments()} key. It maps to the serialized {@link ContextCarrier}. + * Attachment key of the serialized context data. */ private static final String ATTACHMENT_KEY_OF_CONTEXT_DATA = "SWTraceContext"; + /** * Motan component */ private static final String MOTAN_COMPONENT = "Motan"; - @Override - public void onConstruct(EnhancedClassInstanceContext context, ConstructorInvokeContext interceptorContext) { - context.set(KEY_NAME_OF_REQUEST_URL, interceptorContext.allArguments()[0]); - } - @Override public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, MethodInterceptResult result) { - URL url = (URL) context.get(KEY_NAME_OF_REQUEST_URL); - if (url != null) { - com.weibo.api.motan.rpc.Request request = (com.weibo.api.motan.rpc.Request) interceptorContext.allArguments()[0]; - Span span = ContextManager.INSTANCE.createSpan(generateViewPoint(request)); - Tags.COMPONENT.set(span, MOTAN_COMPONENT); - Tags.URL.set(span, url.getIdentity()); - Tags.PEER_PORT.set(span, url.getPort()); - Tags.PEER_HOST.set(span, url.getHost()); - Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_SERVER); - Tags.SPAN_LAYER.asRPCFramework(span); + Request request = (Request) interceptorContext.allArguments()[0]; + Span span = ContextManager.INSTANCE.createSpan(generateViewPoint(request)); + Tags.COMPONENT.set(span, MOTAN_COMPONENT); + Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_SERVER); + Tags.SPAN_LAYER.asRPCFramework(span); - String serializedContextData = request.getAttachments().get(ATTACHMENT_KEY_OF_CONTEXT_DATA); - if (!StringUtil.isEmpty(serializedContextData)) { - ContextManager.INSTANCE.extract(new ContextCarrier().deserialize(serializedContextData)); - } + String serializedContextData = request.getAttachments().get(ATTACHMENT_KEY_OF_CONTEXT_DATA); + if (!StringUtil.isEmpty(serializedContextData)) { + ContextManager.INSTANCE.extract(new ContextCarrier().deserialize(serializedContextData)); } } @@ -72,9 +57,10 @@ public class MotanProviderInterceptor implements InstanceConstructorInterceptor, Response response = (Response) ret; if (response != null && response.getException() != null) { Span span = ContextManager.INSTANCE.activeSpan(); - Tags.ERROR.set(span, true); span.log(response.getException()); + Tags.ERROR.set(span, true); } + ContextManager.INSTANCE.stopSpan(); return ret; } @@ -92,5 +78,4 @@ public class MotanProviderInterceptor implements InstanceConstructorInterceptor, viewPoint.append("(" + request.getParamtersDesc() + ")"); return viewPoint.toString(); } - } diff --git a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/define/MotanConsumerInstrumentation.java b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/define/MotanConsumerInstrumentation.java index b2b0d248b..2797e1bae 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/define/MotanConsumerInstrumentation.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/define/MotanConsumerInstrumentation.java @@ -3,8 +3,7 @@ package com.a.eye.skywalking.plugin.motan.define; import com.a.eye.skywalking.api.plugin.interceptor.ConstructorInterceptPoint; import com.a.eye.skywalking.api.plugin.interceptor.InstanceMethodsInterceptPoint; import com.a.eye.skywalking.api.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine; -import com.a.eye.skywalking.plugin.motan.MotanConsumerFetchRequestURLInterceptor; -import com.a.eye.skywalking.plugin.motan.MotanConsumerInvokeInterceptor; +import com.a.eye.skywalking.plugin.motan.MotanProviderInterceptor; import com.weibo.api.motan.rpc.Request; import com.weibo.api.motan.rpc.URL; @@ -15,19 +14,17 @@ import static net.bytebuddy.matcher.ElementMatchers.named; /** * {@link MotanConsumerInstrumentation} presents that skywalking intercept - * {@link com.weibo.api.motan.cluster.support.ClusterSpi#call(Request)} by using {@link MotanConsumerInvokeInterceptor} and - * intercept {@link com.weibo.api.motan.cluster.support.ClusterSpi#setUrl(URL)} by using - * {@link MotanConsumerFetchRequestURLInterceptor} to intercept{@link MotanConsumerFetchRequestURLInterceptor}. + * {@link com.weibo.api.motan.cluster.support.ClusterSpi#call(Request)} by using {@link MotanProviderInterceptor}. * * @author zhangxin */ public class MotanConsumerInstrumentation extends ClassInstanceMethodsEnhancePluginDefine { - private static final String ENHANCE_CLASS = "com.weibo.api.motan.cluster.support.ClusterSpi"; + private static final String ENHANCE_CLASS = "com.weibo.api.motan.transport.ProviderMessageRouter"; - private static final String FETCH_REQUEST_URL_INTERCEPT_CLASS = "com.a.eye.skywalking.plugin.motan.MotanConsumerFetchRequestURLInterceptor"; +// private static final String FETCH_REQUEST_URL_INTERCEPT_CLASS = "com.a.eye.skywalking.plugin.motan.MotanConsumerFetchRequestURLInterceptor"; - private static final String INVOKE_INTERCEPT_CLASS = "com.a.eye.skywalking.plugin.motan.MotanConsumerInvokeInterceptor"; + private static final String INVOKE_INTERCEPT_CLASS = "com.a.eye.skywalking.plugin.motan.MotanProviderInterceptor"; @Override protected String enhanceClassName() { @@ -42,16 +39,6 @@ public class MotanConsumerInstrumentation extends ClassInstanceMethodsEnhancePlu @Override protected InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() { return new InstanceMethodsInterceptPoint[]{new InstanceMethodsInterceptPoint() { - @Override - public ElementMatcher getMethodsMatcher() { - return named("setUrl"); - } - - @Override - public String getMethodsInterceptor() { - return FETCH_REQUEST_URL_INTERCEPT_CLASS; - } - }, new InstanceMethodsInterceptPoint() { @Override public ElementMatcher getMethodsMatcher() { return named("call"); diff --git a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/define/MotanProviderInstrumentation.java b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/define/MotanProviderInstrumentation.java index 34db6c28e..e3f9ac0a6 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/define/MotanProviderInstrumentation.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/define/MotanProviderInstrumentation.java @@ -3,7 +3,7 @@ package com.a.eye.skywalking.plugin.motan.define; import com.a.eye.skywalking.api.plugin.interceptor.ConstructorInterceptPoint; import com.a.eye.skywalking.api.plugin.interceptor.InstanceMethodsInterceptPoint; import com.a.eye.skywalking.api.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine; -import com.a.eye.skywalking.plugin.motan.MotanProviderInterceptor; +import com.a.eye.skywalking.plugin.motan.MotanConsumerInterceptor; import com.weibo.api.motan.rpc.Request; import net.bytebuddy.description.method.MethodDescription; @@ -14,7 +14,7 @@ import static net.bytebuddy.matcher.ElementMatchers.named; /** * {@link MotanProviderInstrumentation} presents that skywalking will use - * {@link MotanProviderInterceptor} to intercept + * {@link MotanConsumerInterceptor} to intercept * all constructor of {@link com.weibo.api.motan.rpc.AbstractProvider} and * {@link com.weibo.api.motan.rpc.AbstractProvider#call(Request)}. * @@ -25,15 +25,15 @@ public class MotanProviderInstrumentation extends ClassInstanceMethodsEnhancePlu /** * Enhance class. */ - private static final String ENHANCE_CLASS = "com.weibo.api.motan.rpc.AbstractProvider"; + 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 = "com.a.eye.skywalking.plugin.motan.MotanProviderInterceptor"; + private static final String CONSTRUCTOR_INTERCEPT_CLASS = "com.a.eye.skywalking.plugin.motan.MotanConsumerInterceptor"; /** * Class that intercept {@link com.weibo.api.motan.rpc.AbstractProvider#call(Request)}. */ - private static final String PROVIDER_INVOKE_INTERCEPT_CLASS = "com.a.eye.skywalking.plugin.motan.MotanProviderInterceptor"; + private static final String PROVIDER_INVOKE_INTERCEPT_CLASS = "com.a.eye.skywalking.plugin.motan.MotanConsumerInterceptor"; @Override protected String enhanceClassName() { diff --git a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanConsumerFetchRequestURLInterceptorTest.java b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanConsumerFetchRequestURLInterceptorTest.java deleted file mode 100644 index 190dea616..000000000 --- a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanConsumerFetchRequestURLInterceptorTest.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.a.eye.skywalking.plugin.motan; - -import com.a.eye.skywalking.api.plugin.interceptor.EnhancedClassInstanceContext; -import com.a.eye.skywalking.api.plugin.interceptor.enhance.InstanceMethodInvokeContext; -import com.weibo.api.motan.rpc.URL; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Matchers; -import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; - -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -@RunWith(MockitoJUnitRunner.class) -public class MotanConsumerFetchRequestURLInterceptorTest { - - private MotanConsumerFetchRequestURLInterceptor requestURLInterceptor; - - @Mock - private EnhancedClassInstanceContext instanceContext; - @Mock - private InstanceMethodInvokeContext interceptorContext; - - private URL url; - - @Before - public void setUp() { - requestURLInterceptor = new MotanConsumerFetchRequestURLInterceptor(); - url = URL.valueOf("motan://127.0.0.0.1:34000/com.a.eye.skywalking.test.TestService"); - - when(interceptorContext.allArguments()).thenReturn(new Object[]{url}); - } - - @Test - public void testFetchRequestURL() { - requestURLInterceptor.beforeMethod(instanceContext, interceptorContext, null); - requestURLInterceptor.afterMethod(instanceContext, interceptorContext, null); - - verify(instanceContext, times(1)).set(Matchers.any(), Matchers.any()); - } - - @Test - public void testFetchRequestURLWithException(){ - requestURLInterceptor.beforeMethod(instanceContext, interceptorContext, null); - requestURLInterceptor.handleMethodException(new RuntimeException(), instanceContext, interceptorContext); - requestURLInterceptor.afterMethod(instanceContext, interceptorContext, null); - - verify(instanceContext, times(1)).set(Matchers.any(), Matchers.any()); - } -} \ No newline at end of file diff --git a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInvokeInterceptorTest.java b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInterceptorTest.java similarity index 95% rename from skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInvokeInterceptorTest.java rename to skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInterceptorTest.java index 22a4d9bfd..199c79678 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInvokeInterceptorTest.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanConsumerInterceptorTest.java @@ -3,6 +3,7 @@ package com.a.eye.skywalking.plugin.motan; import com.a.eye.skywalking.api.context.TracerContext; import com.a.eye.skywalking.api.plugin.interceptor.EnhancedClassInstanceContext; import com.a.eye.skywalking.api.plugin.interceptor.enhance.InstanceMethodInvokeContext; +import com.a.eye.skywalking.plugin.motan.define.MotanConsumerInstrumentation; import com.a.eye.skywalking.sniffer.mock.context.MockTracerContextListener; import com.a.eye.skywalking.sniffer.mock.context.SegmentAssert; import com.a.eye.skywalking.trace.LogData; @@ -32,11 +33,11 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) -public class MotanConsumerInvokeInterceptorTest { +public class MotanConsumerInterceptorTest { private MockTracerContextListener contextListener; - private MotanConsumerInvokeInterceptor invokeInterceptor; + private MotanConsumerInterceptor invokeInterceptor; @Mock private EnhancedClassInstanceContext instanceContext; @Mock @@ -51,7 +52,7 @@ public class MotanConsumerInvokeInterceptorTest { @Before public void setUp() { contextListener = new MockTracerContextListener(); - invokeInterceptor = new MotanConsumerInvokeInterceptor(); + invokeInterceptor = new MotanConsumerInterceptor(); url = URL.valueOf("motan://127.0.0.1:34000/com.a.eye.skywalking.test.TestService"); TracerContext.ListenerManager.add(contextListener); diff --git a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanProviderInterceptorTest.java b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanProviderInterceptorTest.java index 6c1477908..16c473f79 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanProviderInterceptorTest.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/test/java/com/a/eye/skywalking/plugin/motan/MotanProviderInterceptorTest.java @@ -71,12 +71,6 @@ public class MotanProviderInterceptorTest { when(constructorInvokeContext.allArguments()).thenReturn(new Object[]{url}); } - @Test - public void testFetchRequestURL() { - invokeInterceptor.onConstruct(instanceContext, constructorInvokeContext); - verify(instanceContext, times(1)).set(Matchers.any(), Matchers.any()); - } - @Test public void testInvokerWithoutRefSegment() { invokeInterceptor.beforeMethod(instanceContext, interceptorContext, null); @@ -170,10 +164,7 @@ public class MotanProviderInterceptorTest { assertThat(span.getOperationName(), is("com.a.eye.skywalking.test.TestService.test(java.lang.String, java.lang.Object)")); assertThat(Tags.COMPONENT.get(span), is("Motan")); assertThat(Tags.SPAN_KIND.get(span), is(Tags.SPAN_KIND_SERVER)); - assertThat(Tags.PEER_HOST.get(span), is("127.0.0.1")); - assertThat(Tags.PEER_PORT.get(span), is(34000)); assertTrue(Tags.SPAN_LAYER.isRPCFramework(span)); - assertThat(Tags.URL.get(span), is("motan://127.0.0.1:34000/default_rpc/com.a.eye.skywalking.test.TestService/1.0/service")); }