- 如何追踪Spring本地方法调用? + 如何追踪注册在Spring中类实例的本地方法调用?
-1.在需要追踪的方法上,加上@Tracing标识
+1.在需要追踪的方法上,加上@Tracing标识。
public class TracingAspectBean {
@@ -29,11 +29,56 @@ public class TracingAspectBean {
return "Hello World";
}
}
- 2.Spring配置文件中,配置所需如下信息
+2.Spring配置文件中,配置所需如下信息。
<bean id="tracingEnhance" class="com.ai.cloud.skywalking.plugin.spring.TracingEnhanceProcessor">-
+ 如何追踪dubbo调用? +
+这里的dubbo,专指阿里发布的,已停止维护的标准dubbo版本(dubbo.io)。扩展版本dubbox请参考相关章节。
+在客户端和服务端配置全局filter:swEnhanceFilter。
++//客户端Spring配置文件 +<dubbo:consumer filter="swEnhanceFilter"/> + +//服务端Spring配置文件 +<dubbo:provider filter="swEnhanceFilter"/>+
+ 如何追踪dubbox 2.8.4 调用? +
+dubbox 2.8.4 较为符合dubbo的服务规范,这里指dubbox支持RpcContext中的attachment。追踪方式和dubbo相同。
+在客户端和服务端配置全局filter:swEnhanceFilter。
++//客户端Spring配置文件 +<dubbo:consumer filter="swEnhanceFilter"/> + +//服务端Spring配置文件 +<dubbo:provider filter="swEnhanceFilter"/>+ +
+ 如何追踪dubbox 2.8.3 以及之前的调用? +
+由于引入dubbox,主要目的是使用rest+json协议,所以以下方案都是在此种调用模式下的解决方案。其他协议未测试,请谅解,望大家提供测试结果与反馈。
+dubbox 2.8.3 以及之前版本不能正确的支持RpcContext中的attachment,存在BUG(2.8.4已修复)。采用扩展参数对象的方法支持追踪的传递性。
+注意:依然推荐到升级dubbox 2.8.4
+1.在客户端和服务端配置全局filter:swEnhanceFilter。
++//客户端Spring配置文件 +<dubbo:consumer filter="swEnhanceFilter"/> + +//服务端Spring配置文件 +<dubbo:provider filter="swEnhanceFilter"/>+
2.在客户端和服务端启动时,开启dubbox 2.8.3之前版本的修复功能。在服务启动前调用如下代码,或将com.ai.cloud.skywalking.plugin.dubbox.bugfix.below283.BugFixAcitve注册到Spring中。
++new com.ai.cloud.skywalking.plugin.dubbox.bugfix.below283.BugFixAcitve();+ +
3.dubbox调用参数包含javabean参数,并继承com.ai.cloud.skywalking.plugin.dubbox.bugfix.below283.SWBaseBean。只包含java基础类型(如:String、Integer等)的调用,无法支持追踪传递
+ +4.客户端如果直接使用非dubbox客户端发起调用,需要在发送的参数中设置contextData。
+