如何通过DD_TRACE环境变量覆盖Java Datadog采样规则以保留全错误追踪?
解决方案:通过Datadog环境变量实现错误追踪全保留+10%采样率
你可以通过**DD_TRACE_SAMPLING_RULES**结合标签匹配来实现需求,Datadog的采样规则支持基于追踪标签的条件判断,而错误追踪默认会被打上error:true的标签,具体配置如下:
环境变量配置
设置DD_TRACE_SAMPLING_RULES为包含两条规则的JSON数组,注意规则顺序(优先匹配第一条):
DD_TRACE_SAMPLING_RULES='[{"sample_rate": 1.0, "tags": {"error": "true"}}, {"sample_rate": 0.1}]'
规则说明
- 第一条规则:匹配所有带有
error:true标签的追踪,采样率设为1.0(即100%保留所有错误追踪)。 - 第二条规则:作为默认规则,对所有未匹配第一条的追踪应用
0.1(即10%)的采样率。
注意事项
- Datadog APM默认会自动为以下情况的追踪添加
error:true标签:- 请求处理过程中抛出未捕获的异常
- HTTP响应状态码为5xx
- 手动通过Datadog API设置了错误标签(如
tracer.activeSpan().setTag("error", true))
- 确保规则顺序正确,错误匹配规则必须放在默认规则前面,否则会被默认规则先匹配覆盖。
内容的提问来源于stack exchange,提问作者user5736915
相关产品推荐
相关产品推荐

