希望能在每次dubbo调用的时候,消费者都能向生产者传递一个request id,以实现全链路追踪的能力。 如果我自己修改源代码的话,应该从哪里入手呢?望大神指教。
Q
[apache/dubbo]调用链追踪
4
A
回答
6
这个能力需要对应用层透明
7
可以在RpcContext中存放相关请求id的参数
2
那请问又是在哪里 set/get RpcContext呢?我需要在消费者发送请求之前 set,提供者处理请求的时候 get
0
对的,你在consumer端进行setRpcContext,在provider端进行get 你之前存放的RpcContext
4
consumer/provider 端的代码在哪里呢?请指点迷境
7
RpcContext.getContext()
8
((RpcInvocation)invocation).setAttachment,在filter的invoke方法中
9
所以说 attachment 是随着 rpc call 往下调用的是么? 我应该在ConsumerContextFilter里面放一个 requestId, 然后在 ContextFilter 里面读出来,对吧?
6
可以参考京东基于dubbo实现的调用链跟踪
2
@zuohl 京东的有源代码吗,还有如果是异步调用如何处理
4
zipkin可以实现
6
用pinpoint 非侵入的
8
pinpoint +1
1
Hi, please check this blog: http://dubbo.apache.org/#!/blog/pinpoint.md?