版本:7.0.0
描述
在默认情况下,SkyWalking会采集所有追踪的数据。但是如果系统比较复杂,采集的端点比较多的时候,可能存储压力比较大,这个时候我们可以修改配置,只存储部分的调用链路信息。比如:50%。
设置采样率的时候并不会影响相关指标的计算。服务,服务实例,端点,拓扑图相关指标的计算还是使用完整的数据计算的。
配置
具体配置在config/application.yml
文件中receiver-trace
模块。
默认配置10000
,采样率精确到1/10000
,即10000 * 1/10000 = 1 = 100%
。
假设我们设计采样50%
,那么设置为5000
,具体如下:
receiver-trace:
selector: ${SW_RECEIVER_TRACE:default}
default:
sampleRate: ${SW_TRACE_SAMPLE_RATE:5000}
建议
后算实例可以设置不同的采样率,但是官方建议设置为同样的值。
假设:
实例A采样率 = 35%
实例B采样率 = 55%
Agent将所有的跟踪段都上报给后端,全局范围内 35% 的跟踪的所有跟踪段会保存在存储中。
但是,B实例还会有 20% 的跟踪信息,这些跟踪信息里面有一部分的跟踪段被发送 A 实例, 这部分不会持久化。最终导致跟踪段缺失。
集群模式下,各个实例的采样率建议设置一致,否则可能会导致数据丢失风险。采样率配置在/config/application.yml中,receiver-trace.Default.sampleRate