Loading apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/BodyInserterResponseMethodInterceptor.java→apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/AbstractServerResponseMethodInterceptor.java +17 −15 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ import org.springframework.web.server.ServerWebExchange; import java.lang.reflect.Method; public class BodyInserterResponseMethodInterceptor implements InstanceMethodsAroundInterceptor { public class AbstractServerResponseMethodInterceptor implements InstanceMethodsAroundInterceptor { /** * The error reason Loading @@ -43,7 +43,8 @@ public class BodyInserterResponseMethodInterceptor implements InstanceMethodsAro @Override public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable { EnhancedInstance instance = (EnhancedInstance) allArguments[0]; EnhancedInstance instance = DispatcherHandlerHandleMethodInterceptor.getInstance(allArguments[0]); if (instance != null) { AbstractSpan span = (AbstractSpan) instance.getSkyWalkingDynamicField(); if (span == null) { return; Loading @@ -60,6 +61,7 @@ public class BodyInserterResponseMethodInterceptor implements InstanceMethodsAro ContextManager.stopSpan(span); ((EnhancedInstance) allArguments[0]).setSkyWalkingDynamicField(null); } } @Override public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, Object ret) throws Throwable { Loading apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/DispatcherHandlerHandleMethodInterceptor.java +32 −15 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInt import org.apache.skywalking.apm.network.trace.component.ComponentsDefine; import org.springframework.http.HttpHeaders; import org.springframework.web.server.ServerWebExchange; import org.springframework.web.server.ServerWebExchangeDecorator; import org.springframework.web.server.adapter.DefaultServerWebExchange; import java.lang.reflect.Method; import java.util.List; Loading @@ -45,10 +47,11 @@ public class DispatcherHandlerHandleMethodInterceptor implements InstanceMethods @Override public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable { EnhancedInstance instance = DispatcherHandlerHandleMethodInterceptor.getInstance(allArguments[0]); if (instance != null) { ContextCarrier contextCarrier = new ContextCarrier(); CarrierItem next = contextCarrier.items(); ServerWebExchange exchange = (ServerWebExchange) allArguments[0]; EnhancedInstance instance = (EnhancedInstance) allArguments[0]; HttpHeaders headers = exchange.getRequest().getHeaders(); while (next.hasNext()) { next = next.next(); Loading @@ -63,6 +66,7 @@ public class DispatcherHandlerHandleMethodInterceptor implements InstanceMethods Tags.URL.set(span, exchange.getRequest().getURI().toString()); instance.setSkyWalkingDynamicField(span); } } @Override public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, Loading @@ -74,4 +78,17 @@ public class DispatcherHandlerHandleMethodInterceptor implements InstanceMethods public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, Throwable t) { } public static EnhancedInstance getInstance(Object o) { EnhancedInstance instance = null; if (o instanceof ServerWebExchangeDecorator) { ServerWebExchange delegate = ((ServerWebExchangeDecorator) o).getDelegate(); if (delegate instanceof DefaultServerWebExchange) { instance = (EnhancedInstance) delegate; } } else if (o instanceof DefaultServerWebExchange) { instance = (EnhancedInstance) o; } return instance; } } apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/DispatcherHandlerHandleResultMethodInterceptor.java +7 −5 Original line number Diff line number Diff line Loading @@ -40,12 +40,14 @@ public class DispatcherHandlerHandleResultMethodInterceptor implements InstanceM @Override public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, Object ret) throws Throwable { EnhancedInstance instance = (EnhancedInstance) allArguments[0]; EnhancedInstance instance = DispatcherHandlerHandleMethodInterceptor.getInstance(allArguments[0]); if (instance != null) { AbstractSpan span = (AbstractSpan) instance.getSkyWalkingDynamicField(); if (span != null) { ContextManager.stopSpan(span); instance.setSkyWalkingDynamicField(null); } } return ret; } Loading apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/DispatcherHandlerInvokeHandlerMethodInterceptor.java +20 −18 Original line number Diff line number Diff line Loading @@ -41,7 +41,8 @@ public class DispatcherHandlerInvokeHandlerMethodInterceptor implements Instance @Override public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable { EnhancedInstance instance = (EnhancedInstance) allArguments[0]; EnhancedInstance instance = DispatcherHandlerHandleMethodInterceptor.getInstance(allArguments[0]); if (instance != null) { AbstractSpan span = (AbstractSpan) instance.getSkyWalkingDynamicField(); if (span == null) { return; Loading @@ -62,6 +63,7 @@ public class DispatcherHandlerInvokeHandlerMethodInterceptor implements Instance span.setOperationName(getHandlerMethodOperationName(handler)); } } } @Override public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, Loading apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/DefaultServerWebExchangeConstructorInterceptor.java→apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/ServerWebExchangeConstructorInterceptor.java +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceC * * @author zhaoyuguang */ public class DefaultServerWebExchangeConstructorInterceptor implements InstanceConstructorInterceptor { public class ServerWebExchangeConstructorInterceptor implements InstanceConstructorInterceptor { @Override public void onConstruct(EnhancedInstance objInst, Object[] allArguments) { } Loading Loading
apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/BodyInserterResponseMethodInterceptor.java→apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/AbstractServerResponseMethodInterceptor.java +17 −15 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ import org.springframework.web.server.ServerWebExchange; import java.lang.reflect.Method; public class BodyInserterResponseMethodInterceptor implements InstanceMethodsAroundInterceptor { public class AbstractServerResponseMethodInterceptor implements InstanceMethodsAroundInterceptor { /** * The error reason Loading @@ -43,7 +43,8 @@ public class BodyInserterResponseMethodInterceptor implements InstanceMethodsAro @Override public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable { EnhancedInstance instance = (EnhancedInstance) allArguments[0]; EnhancedInstance instance = DispatcherHandlerHandleMethodInterceptor.getInstance(allArguments[0]); if (instance != null) { AbstractSpan span = (AbstractSpan) instance.getSkyWalkingDynamicField(); if (span == null) { return; Loading @@ -60,6 +61,7 @@ public class BodyInserterResponseMethodInterceptor implements InstanceMethodsAro ContextManager.stopSpan(span); ((EnhancedInstance) allArguments[0]).setSkyWalkingDynamicField(null); } } @Override public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, Object ret) throws Throwable { Loading
apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/DispatcherHandlerHandleMethodInterceptor.java +32 −15 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInt import org.apache.skywalking.apm.network.trace.component.ComponentsDefine; import org.springframework.http.HttpHeaders; import org.springframework.web.server.ServerWebExchange; import org.springframework.web.server.ServerWebExchangeDecorator; import org.springframework.web.server.adapter.DefaultServerWebExchange; import java.lang.reflect.Method; import java.util.List; Loading @@ -45,10 +47,11 @@ public class DispatcherHandlerHandleMethodInterceptor implements InstanceMethods @Override public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable { EnhancedInstance instance = DispatcherHandlerHandleMethodInterceptor.getInstance(allArguments[0]); if (instance != null) { ContextCarrier contextCarrier = new ContextCarrier(); CarrierItem next = contextCarrier.items(); ServerWebExchange exchange = (ServerWebExchange) allArguments[0]; EnhancedInstance instance = (EnhancedInstance) allArguments[0]; HttpHeaders headers = exchange.getRequest().getHeaders(); while (next.hasNext()) { next = next.next(); Loading @@ -63,6 +66,7 @@ public class DispatcherHandlerHandleMethodInterceptor implements InstanceMethods Tags.URL.set(span, exchange.getRequest().getURI().toString()); instance.setSkyWalkingDynamicField(span); } } @Override public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, Loading @@ -74,4 +78,17 @@ public class DispatcherHandlerHandleMethodInterceptor implements InstanceMethods public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, Throwable t) { } public static EnhancedInstance getInstance(Object o) { EnhancedInstance instance = null; if (o instanceof ServerWebExchangeDecorator) { ServerWebExchange delegate = ((ServerWebExchangeDecorator) o).getDelegate(); if (delegate instanceof DefaultServerWebExchange) { instance = (EnhancedInstance) delegate; } } else if (o instanceof DefaultServerWebExchange) { instance = (EnhancedInstance) o; } return instance; } }
apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/DispatcherHandlerHandleResultMethodInterceptor.java +7 −5 Original line number Diff line number Diff line Loading @@ -40,12 +40,14 @@ public class DispatcherHandlerHandleResultMethodInterceptor implements InstanceM @Override public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, Object ret) throws Throwable { EnhancedInstance instance = (EnhancedInstance) allArguments[0]; EnhancedInstance instance = DispatcherHandlerHandleMethodInterceptor.getInstance(allArguments[0]); if (instance != null) { AbstractSpan span = (AbstractSpan) instance.getSkyWalkingDynamicField(); if (span != null) { ContextManager.stopSpan(span); instance.setSkyWalkingDynamicField(null); } } return ret; } Loading
apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/DispatcherHandlerInvokeHandlerMethodInterceptor.java +20 −18 Original line number Diff line number Diff line Loading @@ -41,7 +41,8 @@ public class DispatcherHandlerInvokeHandlerMethodInterceptor implements Instance @Override public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable { EnhancedInstance instance = (EnhancedInstance) allArguments[0]; EnhancedInstance instance = DispatcherHandlerHandleMethodInterceptor.getInstance(allArguments[0]); if (instance != null) { AbstractSpan span = (AbstractSpan) instance.getSkyWalkingDynamicField(); if (span == null) { return; Loading @@ -62,6 +63,7 @@ public class DispatcherHandlerInvokeHandlerMethodInterceptor implements Instance span.setOperationName(getHandlerMethodOperationName(handler)); } } } @Override public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class<?>[] argumentsTypes, Loading
apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/DefaultServerWebExchangeConstructorInterceptor.java→apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/ServerWebExchangeConstructorInterceptor.java +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceC * * @author zhaoyuguang */ public class DefaultServerWebExchangeConstructorInterceptor implements InstanceConstructorInterceptor { public class ServerWebExchangeConstructorInterceptor implements InstanceConstructorInterceptor { @Override public void onConstruct(EnhancedInstance objInst, Object[] allArguments) { } Loading