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