跳到主要内容

调用链采集配置

调用链采集配置用于设定系统中调用链数据的采集规则。通过配置采集模式、采集率、最大采集 Span 数、请求参数等参数,能够精准控制调用链数据的采集行为,在保障获取有效调用链信息用于问题排查、性能分析的同时,合理平衡系统资源消耗,避免因过度采集对系统正常运行造成过大压力。

该模块支持自定义采集规则和默认采集规则配置,自定义采集规则优先级高于默认采集规则;当请求不匹配任何自定义规则时,按默认规则生效。

使用场景

  • 日常运维场景:通过智能采样或智能强度模式,以较低采集率持续留存调用链样本,支撑服务性能趋势分析与日常巡检。
  • 故障排查场景:开启「采集全部错误和慢调用链」,在不大幅提高采集率的前提下,确保错误请求和慢请求的调用链不遗漏,快速还原故障链路。
  • 精细化管控场景:针对核心服务、高并发服务分别创建自定义规则,差异化配置采集强度、堆栈采集、CPU 耗时采集等参数。
  • 兼容性适配场景:按服务维度关闭「在响应头追加 Trace 标识」,解决第三方客户端因响应头兼容性问题引发的业务异常。

开始使用

进入部署配置 → 规则配置 → 数据采集 → 调用链页面,即可查看调用链采集的全局配置与规则列表。

traceconfiguration1

调用链采集总开关

页面顶部提供调用链采集总开关,用于全局启用或关闭调用链数据采集。关闭后,系统将停止采集调用链数据。

自定义采集规则

自定义采集规则列表展示优先级描述启用操作(编辑、删除)等字段,支持按描述关键字搜索。

  • 规则按优先级从上到下依次匹配,可通过拖拽调整优先级顺序。
  • 每条规则支持单独启用或禁用。
  • 点击创建可新增自定义规则;点击编辑删除可管理已有规则。

traceconfiguration4

默认采集规则

默认采集规则作为兜底策略,当请求不满足任何自定义规则时生效。列表提示「如果不满足自定义规则,按照默认规则生效」,操作仅支持编辑(不可删除)。

配置自定义采集规则

点击创建编辑按钮,从右侧滑入「创建自定义采集规则」/「编辑自定义采集规则」抽屉。

1784359833000

生效范围

  • 必选,支持按服务服务标签进程组进程组标签选择生效范围。
  • 支持添加多条条件,点击「+」新增条件行;条件关系可选
  • 条件操作符支持精确匹配等匹配方式。

配置项

「配置项」为必填区域,核心配置为采集模式。不同采集模式对应不同的附加参数,详见下文各模式说明。

采集模式概览

采集模式附加参数说明
不采集关闭该范围内的调用链采集
阈值模式最大采集(span 数/trace)、堆栈采集、CPU 耗时采集采集全部调用链相关原始数据,业务结束时将全部慢请求和错误请求的数据生成调用链
智能采样模式采集率(‰)、最大采集(span 数/trace)、堆栈采集、CPU 耗时采集按采集率随机采样生成调用链;支持开启「采集全部错误和慢调用链」
智能强度模式采集强度(低/中/高)、最大采集(span 数/trace)、堆栈采集、CPU 耗时采集按采集强度周期性采集调用链;支持开启「采集全部错误和慢调用链」
智能自适应模式最大采集(traces/分钟/进程)、最大采集(span 数/trace)、堆栈采集、CPU 耗时采集在不超过最大采集限制的前提下,各业务均衡分配采集比例
提示

SmartAgent 10.1.0 及以上版本支持智能采样模式、智能强度模式下的「采集全部错误和慢调用链」开关,以及「在响应头追加 Trace 标识」配置。

不采集

选择不采集后,该规则匹配范围内的服务将不再采集调用链数据,无其他附加配置项。

1784360480329

阈值模式

阈值模式下,探针采集全部调用链相关原始数据,业务结束时将全部慢请求(根据服务接口响应时间阈值判定的较慢请求和很慢请求)和错误请求的数据生成调用链。

可配置参数:

  • 最大采集(span 数/trace):限制单条 Trace 可采集的 Span 节点最大数量,默认 1000。
  • 堆栈采集CPU 耗时采集:见下文公共配置说明。

1784423122055

智能采样模式

按照采集率(‰)随机采样生成调用链。SmartAgent 10.1.0 及以上版本中,默认按采集率随机采样。

可配置参数:

  • 采集率(‰):控制健康请求的随机采样比例,单位为千分之一(‰)。
  • 最大采集(span 数/trace):限制单条 Trace 可采集的 Span 节点最大数量,默认 1000。
  • 采集全部错误和慢调用链(可选开关,默认关闭):位于采集模式下拉框下方,仅在智能采样模式下显示。

1784360413954

「采集全部错误和慢调用链」开关逻辑:

开关状态采集逻辑
关闭(默认)按设定采集率(‰)对所有请求进行随机采样,生成调用链
开启健康请求按设定采集率随机采样上报;错误请求和慢请求的调用链不受采样率限制,全量上报

1784466020055

注意

探针采用先采集、后过滤的机制,开启「采集全部错误和慢调用链」后可能增加服务性能消耗,请按需使用。

智能强度模式

按照采集强度采集调用链。每个入口业务每个采集周期 5s 采集前 n 个请求的调用链,其中 n 根据强度低、中、高分别对应 1、2、3,默认强度为

可配置参数:

  • 采集强度:提供低、中、高三档预设选项,直接控制每个采集周期内命中的请求数量。
  • 最大采集(span 数/trace):限制单条 Trace 可采集的 Span 节点最大数量,默认 1000。
  • 采集全部错误和慢调用链(可选开关,默认关闭):位于采集模式下拉框下方,仅在智能强度模式下显示。

1784360597156

采集强度说明:

  • :每个采集周期(5s)采集前 1 个请求,探针性能损耗最小,适用于超高并发、性能敏感的核心业务。
  • :每个采集周期采集前 2 个请求,平衡链路样本覆盖率与服务性能开销,绝大多数业务推荐使用。
  • :每个采集周期采集前 3 个请求,链路样本数据最完整,适用于预发环境、低流量业务、线上问题复现排查场景。

「采集全部错误和慢调用链」开关逻辑:

开关状态采集逻辑
关闭(默认)按强度命中请求,对命中的请求生成完整调用链;未命中的请求不做任何上报
开启在命中采集逻辑基础上,对未命中但含错误或慢节点的请求,额外上报这些节点的调用链(拓扑仅含错误/慢节点自身,不含完整上下游节点)

以强度「低」为例,开关开启后的命中/上报示例:

请求节点链路状态是否命中上报结果
As1→s2→s3全部正常✓ 命中上报完整链路
Bs1→s2(错误)→s3(错误)含错误节点✗ 未命中额外上报 s2、s3 错误节点
Cs1→s2(慢)→s3含慢节点✗ 未命中额外上报 s2 慢节点
Ds1→s2→s3全部正常✗ 未命中不上报

1784360203009

注意

探针采用先采集、后过滤的机制,开启「采集全部错误和慢调用链」后可能增加服务性能消耗,请按需使用。

提示

线上常规生产环境建议勾选「采集全部错误和慢调用链」,优先留存故障类链路,仅对正常流量做采样压缩;高吞吐无故障业务、压测场景可按需取消勾选。

智能自适应模式

在确保不超过最大采集限制的前提下,各业务采集均衡分配。具体规则如下:

  1. 最大采集限制:定义每分钟总采集数的上限(traces/分钟/进程)。
  2. 动态调整采集比例:根据每个业务的访问量动态调整采集比例:
    • 每种业务至少采集一次;
    • 访问量大的业务,其采集比例相对较低;
    • 访问量小的业务,其采集比例相对较高。

可配置参数:

  • 最大采集(traces/分钟/进程):限制每个进程每分钟采集的 Trace 总数上限。
  • 最大采集(span 数/trace):限制单条 Trace 可采集的 Span 节点最大数量,默认 1000。

1784360397602

堆栈采集(默认关闭)

  • 功能作用:开启后,上报的 Span 会附带代码堆栈信息,便于定位代码报错、性能瓶颈。
  • 资源风险:堆栈信息序列化、上报会明显增加服务 CPU、内存资源消耗,生产核心业务不建议常态化开启。
  • 使用场景:仅在接口报错、性能问题深度定位时临时开启,排查完成后及时关闭。
注意

堆栈采集开启后,以下情况会采集堆栈:

  • 框架方法有异常时采集
  • 框架方法耗时超过 100ms 时采集
  • 每个接口中最多采集 10 次

注意:代码栈中的方法非全部方法,而是平台采集到的部分框架方法。

CPU 耗时采集(默认关闭)

  • 功能作用:开启后探针会统计代码片段、接口实际 CPU 占用耗时,在调用链中补充 CPU 维度观测指标。
  • 性能风险:采集 CPU 时钟会侵入业务执行流程,拉长接口整体响应耗时,高 QPS 服务禁止长期开启。
  • 使用场景:仅用于 CPU 占用过高、线程死循环、代码计算耗时异常等专项问题临时排查。
注意

开启后,对系统资源消耗占比会增加,谨慎开启(堆栈采集);开启后,会影响服务的执行时间,谨慎开启(CPU 耗时采集)。

最大采集(span 数/trace)说明

数值输入配置项,默认值 1000,用于限制单条完整调用链(Trace)可采集的 Span 节点最大数量:

  • 采集规则:单次请求生成的 Span 节点总数超过该阈值时,超出部分会被截断丢弃。
  • 调优参考:多层微服务嵌套、批量循环调用业务可适当调大数值,避免链路信息截断丢失;简单单体接口、性能敏感服务可维持默认值或调小阈值,缩减单条 Trace 的数据体积。

请求参数

配置项说明默认值
请求参数采集开启后会采集请求参数信息,如有敏感信息请谨慎开启开启
请求/响应头采集开启后会采集请求/响应头信息,如有敏感信息请谨慎开启开启
在响应头追加 Trace 标识开启后 Agent 向 HTTP 响应头注入 x-br-responsetraceresponse 参数,用于链路追踪与前后端关联;SmartAgent 10.1.0 及以上版本支持开启

「在响应头追加 Trace 标识」开关行为:

状态行为
开启(默认)Agent 向 HTTP 响应头注入 Trace 标识,用于链路追踪与 RUM 前后端关联
关闭Agent 停止向响应头注入上述参数,可解决因响应头兼容性问题引发的第三方客户端异常
注意

关闭「在响应头追加 Trace 标识」后,将影响 RUM 前后端链路关联,请谨慎操作。

描述

必填,由系统根据当前配置实时自动生成,保存后同步至规则列表描述列。示例:

  • 调用链采集模式为智能采样模式,采集率为 5‰。最大采集 1000 span 数/trace。已开启采集全部错误和慢调用链
  • 调用链采集模式为智能强度模式,采集强度为低采集。最大采集 1000 span 数/trace
  • 调用链采集模式为智能自适应模式,最大采集为 1000 traces/分钟/进程,最大采集 1000 span 数/trace

点击保存完成规则创建或编辑。

配置默认采集规则

点击默认采集规则的编辑按钮,展开编辑抽屉,配置项与自定义采集规则一致,但无「生效范围」条件配置。

  • 描述:必填,由系统根据配置自动生成。
  • 保存:点击保存完成默认采集规则编辑。

采集模式速查

提示
  • 不采集:关闭该范围内的调用链采集。
  • 阈值模式:采集全部的调用链相关原始数据,业务结束时将全部慢请求(根据服务接口的响应时间阈值判定的较慢请求和很慢请求)和错误请求的数据生成调用链。
  • 智能采样模式:按照采集率(‰)采集调用链。SmartAgent 10.1.0 及以上的探针版本中,默认按采集率随机采样生成调用链。开启「采集全部错误和慢调用链」后,错误、慢调用链路全量采集,健康请求(全部请求去掉慢请求和错误请求)按照采集率采样上报。
  • 智能强度模式:按照采集强度采集调用链。每个入口业务每个采集周期 5s 采集前 n 个请求的调用链,其中 n 根据强度低、中、高分别对应 1、2、3,默认强度为低。支持开启「采集全部错误和慢调用链」,对未命中但含错误/慢节点的请求额外上报。
  • 智能自适应模式:在确保不超过最大采集限制的前提下,各种业务采集均衡分配。最大采集限制定义每分钟总采集数的上限;动态调整采集比例,每种业务至少采集一次,访问量大的业务采集比例相对较低,访问量小的业务采集比例相对较高。