分布式链路跟踪技术(三):自定义 Annotation

在文章“分布式链路跟踪系统(一):Dapper 介绍”里提到过 Annotation,Annotation 里除了可以记录链路的基本信息(耗时、应用名、方法名),还可以用来记录一些业务自定义的扩展信息。扩展信息有两类:

  1. 纯文本,记录在链路数据里,方便查看。
  2. key-value 数据,实现多维度查询,比如 key 是订单号 orderNo 时,可以通过 orderNo=xxx 找到和该订单相关的所有请求链路:下单、支付、退款等。一条 trace 链路对应的是实际中的一个请求,有了多维度查询,就可以把整个交易流程里的多个链路串联起来了。

span 细节图

下面再讲一个页面展示上的小优化,在管理平台上做链路数据的范围查询时,页面如下所示:

范围查询

通常,可选的输入项有应用标识、方法名、开始时间、结束时间、表达式。应用标识是一个系统在整个公司内部全局唯一的 ID,方法名是要查询链路请求的接口名称,一般使用“类名.方法名”表示,开始时间、结束时间表示要查询的时间范围。时间参数存在的意义是避免查询范围太大,给存储系统造成太大压力。表达式就是上面提到的扩展信息了,比如 orderNo&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值