go分布式日志跟踪怎么实现

是不是可以这样做,请求入口生成一个uuid,放到一个context里面,然后每个函数和RPC调用都带这个context。然后每个日志都把这个uuid打印出来。


但是每个函数都带一个context参数,代码会不会太丑。
是否还有更好的办法?

已邀请:

stirlingx - https://github.com/liyue201

赞同来自: 曹涛

好吧,找到了一篇文章
https://mp.weixin.qq.com/s/JkLMNabnYbod-b4syMB3Hw

tupunco

赞同来自: fiisio

你讲都对. 就是思路. 传输的时候可以放到 HTTP -Header 内, 不用到 url 内.
丑不丑只有用了才知道.
看看这个是不是思路跟你的一样: https://rakyll.org/grpc-trace/

Wilence

赞同来自:

context 里面放uuid reqId 是一个很通用的方案,这个reqId可以是客户端传入(header)的,也可以是服务端入口处生成的。
我之前在公司做的一个项目就是用的这种方式

要回复问题请先登录注册