聚合流程#
当新错误事件发生时,Flashduty 采用三步聚合策略将错误聚合为 issue,有效减少需要处理的错误数量。聚合流程如下:1.
指纹匹配:获取错误事件的指纹,并与现有 issue 的指纹比较。
2.
自动合并:如果新事件与现有某 个 issue 共享相同指纹,则自动归入该 issue。
3.
相似度分析:如果指纹未匹配,则利用机器学习模型分析错误相似度,将事件归入相似度最高的 issue,或在相似度过低时创建新的 issue。
默认指纹#
Flashduty 默认启用异常聚合,无需额外配置即可开始工作。Browser SDK 会自动收集错误数据并进行聚合。以下是 Web 环境下的基本设置:1.
在 HTML 文件中引入 Flashduty Browser SDK: 3.
当错误事件没有携带指纹,Flashduty 基于以下错误属性自动计算指纹(fingerprint): 为提高聚合准确性,Flashduty 会去除堆栈帧中的变量属性,如版本号、ID、日期等动 态参数。
自定义指纹#
若默认聚合无法满足需求,您可以通过提供自定义指纹(fingerprint)完全控制错误的聚合行为。自定义指纹的优先级高于默认指纹。1.
在手动报告错误时,通过 addError
添加自定义指纹: 自定义 fingerprint 必须为字符串类型。
相同服务中具有相同 fingerprint 的错误将被归入同一 issue。
不同服务的错误即使 fingerprint 相同也会被归入不同 issue。
beforeSend
回调还可用于过滤无关错误(如第三方脚本错误)。
Web 特定注意事项#
上传 sourcemap
文件以解 码压缩后的堆栈跟踪,确保聚合后的错误堆栈可映射到原始源代码。
示例:使用 flashcat-cli
上传 sourcemap
: 默认情况下,Flashduty 会过滤来自浏览器扩展或第三方脚本的错误(如 network
来源),以减少噪声。
可通过 beforeSend
进一步自定义过滤规则: 查看和分析聚合结果#
在 Flashduty 平台,导航至 「异常追踪」,查看聚合后的 issue 列表。每个 issue 包含:错误消息和堆栈跟踪(若上传了 sourcemap
,会显示原始源代码位置)。
下一步#