采样率从 100% 降到 5% 之后,一周内超过三秒的慢 trace 一条没抓到,事务面板的均值也跟着变得很好看。日志里能对上时间点,这种反而好排。
用的是固定比例采样,快请求和慢请求按同一个概率丢,本来就稀少的慢样本几乎全被扔掉,长尾在统计上直接消失。这一点先确认清楚,后面就不用反复试。
OTEL_TRACES_SAMPLER=parentbased_traceidratio OTEL_TRACES_SAMPLER_ARG=0.05 # 慢请求交给 collector 侧 tail_sampling
围绕「APM 采样策略」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。
报错里带路径的,先去看那个路径在不在、权限对不对。同一份配置存在多处的,先确认改的是被加载的那一份。
处理上按这个顺序:把整体采样改成按耗时和错误优先的尾部策略;错误和超时的请求强制全部采样 不参与丢弃;再留百分之一的随机基线 保证整体分布可比。
结果对不对很好判断,慢请求 trace 重新出现,p99 曲线和网关访问日志能对上。
