# 服务器端的跟踪采样
当我们运行一个分布式跟踪系统时,跟踪会给我们带来详细的信息,但在存储消耗很大。开放服务器端跟踪采样机制, 服务度量、服务实例、端点和拓扑和以前一样,都是准确的,只是不把所有的跟踪数据存起来。
当然,即使您打开采样,跟踪也会尽可能保持一致。一致意味着,一旦跟踪段已被agent收集并报告,
后端将尽力不破坏跟踪。查看推荐来了解我们称它为as consistent as possible
和do their best to don't break the trace
的原因。
# 设定采样率
在receiver-trace接受者中,你可以找到sampleRate
设置。
receiver-trace:
default:
...
sampleRate: ${SW_TRACE_SAMPLE_RATE:10000} # 采样率精度为1/10000。 10000表示默认为100%采样。
sampleRate
可让你设置Backend的采样率。
采样率精度为1/10000。10000表示默认为100%样本。
# 推荐
您可以给的不同的后端实例设置不同的'sampleRate'值,但我们建议你设置成一样。
当你设置不同的值时,
- Backend-InstanceA.sampleRate = 35
- Backend-InstanceB.sampleRate = 55
我们假设agent向Backend报告了所有跟踪段,然后,全局35%的跟踪将被收集并保存在一致/完整的存储中,所有跨度都是如此。 报告给后端实例B的20%跟踪段也将保存在存储器中,但可能会遗漏一些跟踪段, 因为它们被报告给后端实例A并被忽略。