SkyWalking 跨进程传播的头部协议

SkyWalking 跨进程传播协议的头部信息被称为 sw8 协议,版本 3.0。sw8 协议的头部(header)包含了用于上下文传播的关键信息,其名称为 sw8,头值由 - 分隔的 8 个字段组成,且头值的长度应小于 2KB。

这 8 个字段的具体含义如下:

  1. 采样(sample):取值为 0 或 1,0 表示上下文存在,但可能被忽略;1 表示这个追踪需要采样并发送到后端。
  2. 追踪 ID(traceid):是经过 base64 编码的字符串,其内容是由 . 分割的三个 long 类型值,表示此追踪的唯一标识。
  3. 父追踪片段 ID(parenttracesegmentid):同样是 base64 编码的字符串,代表全局唯一的字符串。
  4. 父跨度 ID(parentspanid):是一个从 0 开始的整数,这个跨度 ID 指向父追踪片段中的父跨度。
  5. 父服务名称(parentservice):为 base64 编码的字符串,是一个长度小于或等于 50 个 UTF-8 编码的字符串。
  6. 父服务实例标识(parentserviceinstance):也是 base64 编码的字符串,内容是长度小于或等于 50 个 UTF-8 编码的字符串。
  7. 父服务的端点(parentendpoint):通过 base64 编码的字符串,表示父追踪片段中第一个入口跨度的操作名,由长度小于或等于 50 个 UTF-8 编码的字符组成。
  8. 本请求的目标地址(peer):采用 base64 编码的字符串,其内容是客户端用于访问目标服务的网络地址(不一定是 IP + 端口)。

例如,有两个服务 onemore-aonemore-b,用户通过 HTTP 调用 onemore-a/onemore-a/get,然后 onemore-a/onemore-a/get 又通过 HTTP 调用 onemore-b/onemore-b/get,那么在 onemore-b/onemore-b/get 的请求头中,sw8 键对应的值可能如下:1-ytrlyzzmyzhjy2fingjingi2odiwnjq2othjyzk3ztyunzqumtyymtgzodexmdq1ntawmdk=-ytrlyzzmyzhjy2fingjingi2odiwnjq2othjyzk3ztyunzqumtyymtgzodexmdq1ntawmdg=-2-b25lbw9yzs1h-ztfkmmziyjyzymjhndmwndk5ywy4otvjmdqwztmyzmvamtkylje2oc4xljewmq==-l29uzw1vcmutys9nzxq=-mtkylje2oc4xljewmjo4ma==

- 字符进行分割,可以得到以下内容:

  • 1:采样,表示这个追踪需要采样并发送到后端。
  • ytrlyzzmyzhjy2fingjingi2odiwnjq2othjyzk3ztyunzqumtyymtgzodexmdq1ntawmdk=:追踪 ID,解码后为 a4ec6fc8ccab4bb4b682064698cc97e6.74.16218381104550009
  • ytrlyzzmyzhjy2fingjingi2odiwnjq2othjyzk3ztyunzqumtyymtgzodexmdq1ntawmdg=:父追踪片段 ID,解码后也为 a4ec6fc8ccab4bb4b682064698cc97e6.74.16218381104550009
  • 2:父跨度 ID。
  • b25lbw9yzs1h:父服务名称,解码后为 onemore-a
  • ztfkmmziyjyzymjhndmwndk5ywy4otvjmdqwztmyzmvamtkylje2oc4xljewmq==:父服务实例标识,解码后为 e1d2fbb63bba430499af895c040e32fe@192.168.1.101
  • l29uzw1vcmutys9nzxq=:父服务的端点,解码后为 /onemore-a/get
  • mtkylje2oc4xljewmjo4ma==:本请求的目标地址,解码后为 192.168.1.102:80

此外,还有扩展头部(extension header)项,其名称为 sw8-x,头值由 - 分割,字段可扩展。当前扩展头部值包括的字段为追踪模式(tracingmode),取值为空、0 或 1,默认为空或 0,表示在这个上下文中生成的所有跨度应该跳过分析,默认情况下会在上下文中传播到服务端,除非在跟踪过程中被更改。其主要是为高级特性设计的,用于提供部署在上游和下游服务中的探针之间的交互功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值