天天看点

skywalking7 agent探针segment限制span个数源码分析1,skywalking调用链关键概念说明

​ 在skywalking的探针配置文件中,是可以对每个segment的span个数进行限制,默认是限制300个span。官方之所以给定这个配置是因为官方探针采集的单个span的数据是比较少的。但是在实际生产中若是自研的探针,span采集的数据比较多,就会导致单个span比较大,从而导致segment数据量大,最终缓存的Datacarrier的内存也要更大。至于span采集的数据,在实际应用场景下,用户要求采集请求头、请求参数、响应报文、响应状态码、响应头等其他数据,如果探针采集这些数据将会导致span占用的量剧增,原先的300配置就不太合理。

​ 为了在有效的内存中获取较多的调用链,避免调用链丢失导致的故障原因定位不准确,所以span数量限制是不可避免的。本文主要描述span个数限制的配置以及从skywalking7 agent的源码层级上分析配置是如何生效的:

1,skywalking调用链关键概念说明

skywalking7 agent探针segment限制span个数源码分析1,skywalking调用链关键概念说明

1.1,【trace】

​ trace译为追踪,在分布式系统中指的是一条完整的分布式调用链,其中traceId代表该链路的唯一ID,该ID全局唯一

  • traceId生成规则:当前服务实例ID+请求线程ID+

继续阅读