OpenTelemetry:Difference between traceidratio & parentbased_traceidratio



根据文档

  • "traceidratio" TraceIdRatioBased
  • "parentbased_traceidratio" ParentBased (root = TraceIdRatioBased)

我的理解:

  • traceidratio将进行采样,无论采样是在源/父端进行的。(意思是:采样过的轨迹要再次采样??)

  • parentbased_traceidratio将在父节点的基础上尊重采样标志。

但我认为似乎并非如此。两者的区别是什么?

背景:istio上的采样设置为100,并将环境变量设置为OTEL_TRACES_SAMPLERtraceidratioparentbased_traceidratio,将OTEL_TRACES_SAMPLER_ARG设置为0.001,并没有显示应用程序本身的任何减少/采样。(我们在机甲上找到的所有痕迹都表明没有减少或采样)。一个简单的基于python的应用程序,使用开放遥测-python。将OTEL设置为调试日志也没有显示任何具体的内容。

通过文档设置env变量应该改变应用程序中的跟踪采样。

traceidratio将忽略在父span上做出的决定,并将根据比率做出新的决定。一个张成的空间不能采样两次。在创建跨度时,我们做一个抽样决策,这只会发生一次;我们要么做出新的决定,要么尊重父母的决定。

因此,将OTEL_TRACES_SAMPLER设置为traceidratio0.001应该减少跨度的数量。

相关内容

  • 没有找到相关文章

最新更新