采样率问题

Sample rate issue

如果服务流量很大,跟踪每次调用并保存相应的link日志成本很高,但是一旦设置了采样率,可能会漏掉一些有错误的跟踪。如果我想保留一些速率收集,并且必须跟踪有错误的跟踪,这在spring-cloud-sleuth中是否可行?如果不行,有解决办法吗?

Spring Cloud Sleuth 将采样决策下推到跟踪器实现,您需要创建 SamplerFunctionSampler 来执行此操作,请参阅文档:

更新: 采样是一个早期的决定,因为跟踪有一些开销,而早期采样可以使您的应用程序免于此。 如果你想在最后过滤掉你的跨度,你可以设置一个始终采样器和一个 SpanHandler,你可以在其中访问 Spanerrortags 等。 ) 并且您还可以 keep/drop 他们基于此(您可以将采样器注入您的处理程序并将其逻辑应用于您的其余跨度)。