用途:解决同一实际错误因堆栈帧或消息含易变数据(随机 ID、动态文件路径、构建哈希、匿名函数名)而被上报为多个独立问题的情况。做法分两步:先把已有问题合并到目标问题,再创建分组规则,让同一调用点的未来事件共享一个规范指纹。
主要能力:提供查询候选重复问题、查看单个问题详情与采样 $exception 事件、合并问题、拆分指纹、创建与列出分组规则、更新目标问题名称或描述等工具。合并是一次性的,只收敛历史问题;分组规则是持久的,在摄取时把匹配事件的指纹改写为 custom-rule:<rule_id>。
判定重复的条件:$lib 相同、异常类型相同、栈顶应用内帧指向同一文件与函数、消息模板相同仅易变数据不同、$exception_handled 一致。任一不符即不是重复。不要跨前端与后端、不同 SDK、不同文件或函数、已捕获与未捕获、仅措辞相似的情况合并。
使用方式:先用 query-error-tracking-issues-list 搜索候选,再用 query-error-tracking-issue-events 逐个比对栈、类型与消息;选定出现次数最多、命名最好或最早出现的目标问题后调用 error-tracking-issues-merge-create 合并(每次约 50 个源 ID,合并具破坏性,需先与用户确认)。若模式持续产生新指纹,用 error-tracking-grouping-rules-create 创建规则,过滤条件至少限定 SDK 与异常类型,再加文件路径或消息短语。注意 $lib 在浏览器/JS SDK 中为 web 而非 posthog-js,需先用 read-data-schema 确认。规则按顺序求值,创建前先列出已有规则。
限制:规则 API 不接受目标问题 ID,规则首次触发会新建问题,需再合并一次。禁用或收紧规则不会追溯取消已有分组,可用 split-create 拆分。规则位于项目设置 → Error tracking → Grouping rules。分组规则决定事件落入哪个问题,分配规则决定谁负责,二者不同。资料未提供收费、价格与平台信息。