trace - 采样率问题
问题描述
如果服务的流量很大,跟踪每次调用并保存相应的链接日志成本很高,但是一旦设置了采样率,可能会错过一些有错误的跟踪。如果我想保留一些费率收集,并且必须跟踪有错误的跟踪,这可能spring-cloud-sleuth
吗?如果没有,有解决办法吗?
解决方案
Spring Cloud Sleuth 将采样决策下推到跟踪器实现,您需要创建 aSamplerFunction
或 aSampler
来执行此操作,请参阅文档:
更新:
采样是一个早期决定,因为跟踪有一些开销,而早期采样可以使您的应用程序免于这样做。如果您想在最后过滤掉您的跨度,您可以设置一个始终采样器和一个SpanHandler
您可以访问Span
(error
、tags
等)的位置,您还可以基于此保留/删除它们(您可以将采样器注入到您的处理程序并将其逻辑应用于其余的跨度)。
推荐阅读
- python - python产品迭代链内存不足
- javascript - 组件无法从 Vue 实例调用方法 v-on:click
- python - Python以给定的索引跳转或更少的方式递归地跳过列表,同时避免零
- c - 选择排序:什么是n-1?
- c++ - boost::interprocess 消息队列未删除
- node.js - 将 process.hrtime() 转换为毫秒
- java - 如何从插件覆盖 Cordova 项目的 gradle.properties?
- ms-access - Access 2016 中的序列号
- laravel - 我如何在 Laravel 上使用 Queue::after?
- r - 内存不足文件的汇总统计信息