From 0a5dd6691c8e2f88ad413f47b336a3b77a63d566 Mon Sep 17 00:00:00 2001 From: ascrutae Date: Fri, 11 Aug 2017 07:12:50 +0800 Subject: [PATCH] no message --- .../concurrent-util-4.3.x-plugin/pom.xml | 2 +- .../FailureCallbackInterceptor.java | 13 +++++----- .../SuccessCallbackInterceptor.java | 14 +++++----- ...stenableFutureCallbackInstrumentation.java | 26 +++++++++++-------- .../SuccessCallbackInstrumentation.java | 7 +++-- .../apm-sdk-plugin/spring-plugins/pom.xml | 2 ++ .../resttemplate-4.3.x-plugin/pom.xml | 2 +- .../async/FutureGetInterceptor.java | 14 +++++----- .../async/ResponseCallBackInterceptor.java | 13 ++++++---- .../async/RestExecuteInterceptor.java | 12 ++++----- .../define/RestTemplateInstrumentation.java | 2 -- .../sync/RestExecuteInterceptor.java | 14 +++++----- .../sync/RestRequestInterceptor.java | 14 ++++++---- .../sync/RestResponseInterceptor.java | 14 ++++++---- .../http/client/RestRequestInterceptor.java | 14 ++++++---- 15 files changed, 92 insertions(+), 71 deletions(-) diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/pom.xml index 2e3fd3b4f..cc6855d02 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/pom.xml +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/pom.xml @@ -7,7 +7,7 @@ 4.0.0 - apm-spring-concurrent-util-plugin + apm-spring-concurrent-util-4.3.x-plugin jar concurrent-util-4.3.x-plugin diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/FailureCallbackInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/FailureCallbackInterceptor.java index 56ae40584..ed8a2205d 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/FailureCallbackInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/FailureCallbackInterceptor.java @@ -1,5 +1,6 @@ package org.skywalking.apm.plugin.spring.concurrent; +import java.lang.reflect.Method; import java.net.URI; import org.skywalking.apm.agent.core.context.ContextManager; import org.skywalking.apm.agent.core.context.ContextSnapshot; @@ -14,8 +15,8 @@ import org.skywalking.apm.network.trace.component.ComponentsDefine; public class FailureCallbackInterceptor implements InstanceMethodsAroundInterceptor { @Override - public void beforeMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { + public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + MethodInterceptResult result) throws Throwable { Object[] cacheValues = (Object[])objInst.getSkyWalkingDynamicField(); if (cacheValues == null) { return; @@ -29,16 +30,14 @@ public class FailureCallbackInterceptor implements InstanceMethodsAroundIntercep } @Override - public Object afterMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, Object ret) throws Throwable { + public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + Object ret) throws Throwable { ContextManager.stopSpan(); return ret; } - @Override - public void handleMethodException(EnhancedInstance objInst, String methodName, Object[] allArguments, + @Override public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, Throwable t) { ContextManager.activeSpan().errorOccurred().log(t); } - } diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/SuccessCallbackInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/SuccessCallbackInterceptor.java index 482a88638..951a40582 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/SuccessCallbackInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/SuccessCallbackInterceptor.java @@ -1,5 +1,6 @@ package org.skywalking.apm.plugin.spring.concurrent; +import java.lang.reflect.Method; import java.net.URI; import org.skywalking.apm.agent.core.context.ContextManager; import org.skywalking.apm.agent.core.context.ContextSnapshot; @@ -13,8 +14,9 @@ import org.skywalking.apm.network.trace.component.ComponentsDefine; public class SuccessCallbackInterceptor implements InstanceMethodsAroundInterceptor { - @Override public void beforeMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { + @Override + public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + MethodInterceptResult result) throws Throwable { Object[] cacheValues = (Object[])objInst.getSkyWalkingDynamicField(); if (cacheValues == null) { return; @@ -27,15 +29,15 @@ public class SuccessCallbackInterceptor implements InstanceMethodsAroundIntercep ContextManager.continued((ContextSnapshot)cacheValues[2]); } - @Override public Object afterMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, Object ret) throws Throwable { + @Override + public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + Object ret) throws Throwable { ContextManager.stopSpan(); return ret; } - @Override public void handleMethodException(EnhancedInstance objInst, String methodName, Object[] allArguments, + @Override public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, Throwable t) { ContextManager.activeSpan().errorOccurred().log(t); } - } diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/define/ListenableFutureCallbackInstrumentation.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/define/ListenableFutureCallbackInstrumentation.java index 74ebbcad7..fc1b27111 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/define/ListenableFutureCallbackInstrumentation.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/define/ListenableFutureCallbackInstrumentation.java @@ -6,41 +6,44 @@ import org.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoin import org.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine; import org.skywalking.apm.agent.core.plugin.match.ClassMatch; -import org.skywalking.apm.plugin.spring.concurrent.FailureCallbackInterceptor; -import org.skywalking.apm.plugin.spring.concurrent.SuccessCallbackInterceptor; import static net.bytebuddy.matcher.ElementMatchers.named; import static org.skywalking.apm.plugin.spring.concurrent.match.ListenableFutureCallbackMatch.listenableFutureCallbackMatch; /** * {@link ListenableFutureCallbackInstrumentation} enhance onSuccess method and oonFailure - * that class inherited org.springframework.util.concurrent.ListenableFutureCallback by {@link - * SuccessCallbackInterceptor} and {@link FailureCallbackInterceptor }. + * that class inherited org.springframework.util.concurrent.ListenableFutureCallback by + * org.skywalking.apm.plugin.spring.concurrent.SuccessCallbackInterceptor and + * org.skywalking.apm.plugin.spring.concurrent.FailureCallbackInterceptor. * * @author zhangxin */ public class ListenableFutureCallbackInstrumentation extends ClassInstanceMethodsEnhancePluginDefine { - @Override protected ConstructorInterceptPoint[] getConstructorsInterceptPoints() { + @Override + protected ConstructorInterceptPoint[] getConstructorsInterceptPoints() { return new ConstructorInterceptPoint[0]; } - @Override protected InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() { + @Override + protected InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() { return new InstanceMethodsInterceptPoint[] { new InstanceMethodsInterceptPoint() { - @Override public ElementMatcher getMethodsMatcher() { + @Override + public ElementMatcher getMethodsMatcher() { return named(SuccessCallbackInstrumentation.SUCCESS_METHOD_NAME); } - @Override public String getMethodsInterceptor() { + @Override + public String getMethodsInterceptor() { return SuccessCallbackInstrumentation.SUCCESS_CALLBACK_INTERCEPTOR; } - @Override public boolean isOverrideArgs() { + @Override + public boolean isOverrideArgs() { return false; } }, new InstanceMethodsInterceptPoint() { - @Override public ElementMatcher getMethodsMatcher() { return named(FailureCallbackInstrumentation.FAILURE_METHOD_NAME); @@ -59,7 +62,8 @@ public class ListenableFutureCallbackInstrumentation extends ClassInstanceMethod }; } - @Override protected ClassMatch enhanceClass() { + @Override + protected ClassMatch enhanceClass() { return listenableFutureCallbackMatch(); } } diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/define/SuccessCallbackInstrumentation.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/define/SuccessCallbackInstrumentation.java index 4be5c3381..51c7db24d 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/define/SuccessCallbackInstrumentation.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/define/SuccessCallbackInstrumentation.java @@ -6,21 +6,20 @@ import org.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoin import org.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine; import org.skywalking.apm.agent.core.plugin.match.ClassMatch; -import org.skywalking.apm.plugin.spring.concurrent.FailureCallbackInterceptor; -import org.skywalking.apm.plugin.spring.concurrent.SuccessCallbackInterceptor; import static net.bytebuddy.matcher.ElementMatchers.named; import static org.skywalking.apm.plugin.spring.concurrent.match.SuccessCallbackMatch.successCallbackMatch; /** * {@link SuccessCallbackInstrumentation} enhance the onSuccess method that class inherited - * org.springframework.util.concurrent.SuccessCallback by {@link SuccessCallbackInterceptor}. + * org.springframework.util.concurrent.SuccessCallback by org.skywalking.apm.plugin.spring.concurrent.SuccessCallbackInterceptor. * * @author zhangxin */ public class SuccessCallbackInstrumentation extends ClassInstanceMethodsEnhancePluginDefine { - public static final String SUCCESS_CALLBACK_INTERCEPTOR = "org.skywalking.apm.plugin.spring.concurrent.SuccessCallbackInterceptor"; + public static final String SUCCESS_CALLBACK_INTERCEPTOR = + "org.skywalking.apm.plugin.spring.concurrent.SuccessCallbackInterceptor"; public static final String SUCCESS_METHOD_NAME = "onSuccess"; @Override protected ConstructorInterceptPoint[] getConstructorsInterceptPoints() { diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/pom.xml b/apm-sniffer/apm-sdk-plugin/spring-plugins/pom.xml index a7558877d..4417a3e14 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/pom.xml +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/pom.xml @@ -11,6 +11,8 @@ spring-plugins + concurrent-util-4.3.x-plugin resttemplate-4.3.x-plugin diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/pom.xml index 3dde8eb50..f0700056a 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/pom.xml +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/pom.xml @@ -7,7 +7,7 @@ 4.0.0 - apm-resttemplate-plugin + apm-resttemplate-4.3.x-plugin jar resttemplate-4.3.x-plugin diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/FutureGetInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/FutureGetInterceptor.java index 102ba4e3b..d32fab57b 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/FutureGetInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/FutureGetInterceptor.java @@ -1,6 +1,6 @@ package org.skywalking.apm.plugin.spring.resttemplate.async; -import com.google.instrumentation.trace.Span; +import java.lang.reflect.Method; import java.net.URI; import java.util.List; import org.skywalking.apm.agent.core.context.ContextManager; @@ -10,22 +10,22 @@ import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsA import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult; public class FutureGetInterceptor implements InstanceMethodsAroundInterceptor { + @Override - public void beforeMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { + public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + MethodInterceptResult result) throws Throwable { List cacheValues = (List)objInst.getSkyWalkingDynamicField(); ContextManager.createLocalSpan("future/get:" + ((URI)cacheValues.get(0)).getPath()); } @Override - public Object afterMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, Object ret) throws Throwable { + public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + Object ret) throws Throwable { ContextManager.stopSpan(); return ret; } - @Override - public void handleMethodException(EnhancedInstance objInst, String methodName, Object[] allArguments, + @Override public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, Throwable t) { AbstractSpan activeSpan = ContextManager.activeSpan(); activeSpan.errorOccurred().log(t); diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/ResponseCallBackInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/ResponseCallBackInterceptor.java index ab4cc2dd8..421312ebe 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/ResponseCallBackInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/ResponseCallBackInterceptor.java @@ -1,13 +1,15 @@ package org.skywalking.apm.plugin.spring.resttemplate.async; +import java.lang.reflect.Method; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult; public class ResponseCallBackInterceptor implements InstanceMethodsAroundInterceptor { - @Override public void beforeMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { + @Override + public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + MethodInterceptResult result) throws Throwable { EnhancedInstance successCallBak = (EnhancedInstance)allArguments[0]; successCallBak.setSkyWalkingDynamicField(objInst.getSkyWalkingDynamicField()); @@ -17,12 +19,13 @@ public class ResponseCallBackInterceptor implements InstanceMethodsAroundInterce } } - @Override public Object afterMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, Object ret) throws Throwable { + @Override + public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + Object ret) throws Throwable { return ret; } - @Override public void handleMethodException(EnhancedInstance objInst, String methodName, Object[] allArguments, + @Override public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, Throwable t) { } diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/RestExecuteInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/RestExecuteInterceptor.java index 378ad6da6..9e4693997 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/RestExecuteInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/RestExecuteInterceptor.java @@ -1,5 +1,6 @@ package org.skywalking.apm.plugin.spring.resttemplate.async; +import java.lang.reflect.Method; import java.net.URI; import org.skywalking.apm.agent.core.context.ContextCarrier; import org.skywalking.apm.agent.core.context.ContextManager; @@ -15,8 +16,8 @@ import org.springframework.http.HttpMethod; public class RestExecuteInterceptor implements InstanceMethodsAroundInterceptor { @Override - public void beforeMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { + public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + MethodInterceptResult result) throws Throwable { final URI requestURL = (URI)allArguments[0]; final HttpMethod httpMethod = (HttpMethod)allArguments[1]; final ContextCarrier contextCarrier = new ContextCarrier(); @@ -34,8 +35,8 @@ public class RestExecuteInterceptor implements InstanceMethodsAroundInterceptor } @Override - public Object afterMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, Object ret) throws Throwable { + public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + Object ret) throws Throwable { Object[] cacheValues = (Object[])objInst.getSkyWalkingDynamicField(); cacheValues[3] = ContextManager.capture(); ((EnhancedInstance)ret).setSkyWalkingDynamicField(cacheValues); @@ -43,8 +44,7 @@ public class RestExecuteInterceptor implements InstanceMethodsAroundInterceptor return ret; } - @Override - public void handleMethodException(EnhancedInstance objInst, String methodName, Object[] allArguments, + @Override public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, Throwable t) { ContextManager.activeSpan().errorOccurred().log(t); } diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/define/RestTemplateInstrumentation.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/define/RestTemplateInstrumentation.java index 622ee4fe8..1cb6a20b0 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/define/RestTemplateInstrumentation.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/async/define/RestTemplateInstrumentation.java @@ -8,8 +8,6 @@ import org.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoin import org.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine; import org.skywalking.apm.agent.core.plugin.match.ClassMatch; -import org.skywalking.apm.plugin.spring.resttemplate.async.FutureGetInterceptor; -import org.skywalking.apm.plugin.spring.resttemplate.async.ResponseCallBackInterceptor; import static net.bytebuddy.matcher.ElementMatchers.named; import static org.skywalking.apm.agent.core.plugin.match.NameMatch.byName; diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestExecuteInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestExecuteInterceptor.java index 0fb1bec8f..c0567cba2 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestExecuteInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestExecuteInterceptor.java @@ -1,5 +1,6 @@ package org.skywalking.apm.plugin.spring.resttemplate.sync; +import java.lang.reflect.Method; import java.net.URI; import org.skywalking.apm.agent.core.context.ContextCarrier; import org.skywalking.apm.agent.core.context.ContextManager; @@ -13,9 +14,10 @@ import org.skywalking.apm.network.trace.component.ComponentsDefine; import org.springframework.http.HttpMethod; public class RestExecuteInterceptor implements InstanceMethodsAroundInterceptor { - @Override public void beforeMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { + @Override + public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + MethodInterceptResult result) throws Throwable { final URI requestURL = (URI)allArguments[0]; final HttpMethod httpMethod = (HttpMethod)allArguments[1]; final ContextCarrier contextCarrier = new ContextCarrier(); @@ -30,15 +32,15 @@ public class RestExecuteInterceptor implements InstanceMethodsAroundInterceptor objInst.setSkyWalkingDynamicField(contextCarrier.serialize()); } - @Override public Object afterMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, Object ret) throws Throwable { + @Override + public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + Object ret) throws Throwable { ContextManager.stopSpan(); return ret; } - @Override public void handleMethodException(EnhancedInstance objInst, String methodName, Object[] allArguments, + @Override public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, Throwable t) { ContextManager.activeSpan().errorOccurred().log(t); - } } diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestRequestInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestRequestInterceptor.java index ad8b709d3..23e062c5b 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestRequestInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestRequestInterceptor.java @@ -1,5 +1,6 @@ package org.skywalking.apm.plugin.spring.resttemplate.sync; +import java.lang.reflect.Method; import org.skywalking.apm.agent.core.conf.Config; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; @@ -8,13 +9,16 @@ import org.springframework.http.client.AbstractClientHttpRequest; import org.springframework.http.client.ClientHttpRequest; public class RestRequestInterceptor implements InstanceMethodsAroundInterceptor { - @Override public void beforeMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { + + @Override + public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + MethodInterceptResult result) throws Throwable { } - @Override public Object afterMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, Object ret) throws Throwable { + @Override + public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + Object ret) throws Throwable { ClientHttpRequest clientHttpRequest = (ClientHttpRequest)ret; if (clientHttpRequest instanceof AbstractClientHttpRequest) { AbstractClientHttpRequest httpRequest = (AbstractClientHttpRequest)clientHttpRequest; @@ -23,7 +27,7 @@ public class RestRequestInterceptor implements InstanceMethodsAroundInterceptor return ret; } - @Override public void handleMethodException(EnhancedInstance objInst, String methodName, Object[] allArguments, + @Override public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, Throwable t) { } diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestResponseInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestResponseInterceptor.java index f15bc56e8..80e554f52 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestResponseInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/resttemplate/sync/RestResponseInterceptor.java @@ -1,5 +1,6 @@ package org.skywalking.apm.plugin.spring.resttemplate.sync; +import java.lang.reflect.Method; import org.skywalking.apm.agent.core.context.ContextManager; import org.skywalking.apm.agent.core.context.tag.Tags; import org.skywalking.apm.agent.core.context.trace.AbstractSpan; @@ -9,13 +10,16 @@ import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptR import org.springframework.http.client.ClientHttpResponse; public class RestResponseInterceptor implements InstanceMethodsAroundInterceptor { - @Override public void beforeMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { + + @Override + public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + MethodInterceptResult result) throws Throwable { } - @Override public Object afterMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, Object ret) throws Throwable { + @Override + public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + Object ret) throws Throwable { ClientHttpResponse response = (ClientHttpResponse)allArguments[2]; int statusCode = response.getStatusCode().value(); @@ -27,7 +31,7 @@ public class RestResponseInterceptor implements InstanceMethodsAroundInterceptor return ret; } - @Override public void handleMethodException(EnhancedInstance objInst, String methodName, Object[] allArguments, + @Override public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, Throwable t) { ContextManager.activeSpan().errorOccurred().log(t); } diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/springframework/http/client/RestRequestInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/springframework/http/client/RestRequestInterceptor.java index 1ce1744c1..17218adfb 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/springframework/http/client/RestRequestInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/resttemplate-4.3.x-plugin/src/main/java/org/springframework/http/client/RestRequestInterceptor.java @@ -1,5 +1,6 @@ package org.springframework.http.client; +import java.lang.reflect.Method; import java.util.List; import org.skywalking.apm.agent.core.conf.Config; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance; @@ -7,19 +8,22 @@ import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsA import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult; public class RestRequestInterceptor implements InstanceMethodsAroundInterceptor { - @Override public void beforeMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { + + @Override + public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + MethodInterceptResult result) throws Throwable { } - @Override public Object afterMethod(EnhancedInstance objInst, String methodName, Object[] allArguments, - Class[] argumentsTypes, Object ret) throws Throwable { + @Override + public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, + Object ret) throws Throwable { AbstractAsyncClientHttpRequest clientHttpRequest = (AbstractAsyncClientHttpRequest)ret; clientHttpRequest.getHeaders().set(Config.Plugin.Propagation.HEADER_NAME, String.valueOf(((List)objInst.getSkyWalkingDynamicField()).get(1))); return ret; } - @Override public void handleMethodException(EnhancedInstance objInst, String methodName, Object[] allArguments, + @Override public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, Throwable t) { } -- GitLab