跳转到主要内容
用户体验 → 错误 把应用的错误按 issue 列出。issue 是相似的错误合成的一件事:它有状态、团队、处理人,以及何时、在哪些版本出现过的记录。每条错误仍在 rum_errors 流里,并在 error.issue_id 里带着所属 issue 的 id,所以探索和查询两边都能看到。

错误怎样成为 issue

错误到达时,服务端算出它所属的 issue。id 是这些内容的哈希:
  • 应用和 error.source,
  • 错误的类型、类别,以及去掉了每次都会变的部分的消息,
  • 应用自己代码的前三个帧;上传了该版本的 source map、mapping 或符号文件时,用还原后的帧(见 Source Maps 与符号),
  • 请求失败时,请求的方法、路径和状态码。
消息里的数字、UUID、八位及以上的十六进制哈希、邮箱地址,以及网址的查询串和片段都会被去掉,所以 Loading chunk 482 failed. 和 Loading chunk 17 failed. 是同一个 issue。依赖包、框架和运行时的帧不算应用自己的代码;应用有自己的帧时,它们不参与归并。 要按别的方式归并,发送 error.fingerprint(最长 128 个字符)。同一应用里 fingerprint 相同的错误是同一个 issue,不管消息和堆栈是否相同。SDK 不会设置它;在上报错误的调用里传入。
生成 id 的规则带有版本号。以后调整归并方式会得到新的 id,所以已有的 issue 不会在原处被重新归并。issue 出现之前到达的错误没有 error.issue_id,不会列出。错误在其版本的 source map 上传之前到达,按原始帧归并;在上传之后到达,按还原后的帧归并:同一个问题可能是两个 issue。已有的 issue 不会被合并。

列表

列表显示一个应用、一个环境在时间范围内有错误的 issue。每行显示: 列表默认显示待处理的 issue:待处理、调查中和回归。在筛选里选别的状态,或全部 issue。可以按类型、消息或位置里的词、处理人缩小列表;有多种客户端上报错误时,还可以按来源缩小。点击状态、会话、用户或最近出现给行排序,再点一次反向。页面状态在地址里,所以视图可以分享。 列表读取会话(或用户、出现次数,按所选排序)最多的 250 个 issue,再用筛选缩小,所以筛选不会触及排在它们之后的 issue。最多显示 100 个 issue。 列表上方的出现在哪里把所列 issue 的会话按版本、页面和浏览器拆开。点击一个值,把列表缩小到发生在那里的错误,各列随之缩小。再点一次放开。

issue

点击一行,在抽屉里打开 issue。地址里带着这个 issue,所以抽屉可以从地址再次打开。
  • 头部设置状态、团队和处理人。在探索中查看用这个 issue 的错误打开探索。
  • 概况行显示状态、时间范围内的会话和人数、issue 第一次和最近一次出现的时间,以及版本。
  • 出现趋势显示最近 14 天的会话,按天、按版本堆叠。虚线标出标为已解决的那一天。
  • 出现在哪里把这个 issue 的会话按浏览器、系统和国家拆开。
  • 抛出位置列出最近一条带堆栈的错误的帧:应用自己的帧用粗体,依赖库的帧变淡。调试产物还原过帧时,可以在还原后和原始之间切换。
  • 样本会话列出最近三个遇到该 issue 的会话,各有回放和时间线的入口;受影响用户列出遇到次数最多的人。没被保留的会话的错误是单独保存的,所以在会话入口的位置写着 会话未保留。见 RUM 数据采样。
issue 列表里的类型、消息和位置,保持第一条错误到达时的样子,经过写入时的脱敏规则。

状态

待处理、调查中和回归的 issue 是未解决的。

回归

标为已解决时,记下时间、操作的人,以及当时应用最新的版本。版本的先后按各自第一次出现的时间排,与版本号怎么写无关。已解决的 issue 只有在出现的错误属于比它更晚首次出现的版本时,才重新打开为回归。没有升级的用户会一直遇到旧版本,所以同一版本或更旧版本上的错误不会重开它。 不带版本的应用没有先后可依:解决之后出现的任何错误都会重开。没有写明版本的错误,不会重开在某个版本上标为已解决的 issue。 改变回归的 issue 的状态,就结束了这次回归。再次标为已解决,会再次记下最新的版本。 issue 属于整个应用,在每个环境里都是它。服务端记下让它重新打开的那条错误所在的环境,以及每个环境第一次看到它的时间。告警规则据此数出某个环境的新问题和问题回归。 接收错误的那一端会把 issue 记住最多一分钟,所以人设置的状态最多过一分钟才传到它那里。更新版本上的错误如果在它还记着旧状态时到达,不会重开这个 issue;过了这一分钟的下一个错误会重开。

每小时新开的 issue

一个应用每小时最多新开每小时新开 issue 数个 issue,默认 100。超过之后,这一小时里还不属于任何 issue 的错误合并计入一个叫其余错误的 issue,这样消息从不重复的应用也不会撑满列表。在应用里修改这个数:用户体验 → 应用,Issue 部分,范围 1 到 10,000。修改在半分钟内生效。

权限

  • streams.query 打开列表和 issue。
  • rum.manage 设置状态、团队和处理人。所有者、管理员和编辑者拥有它。没有它时,控件只显示已设置的内容。
接口见 RUM API。

Source Maps 与符号

还原错误的帧,让 issue 按抛出它的代码区分。

RUM 探索

用 error.issue_id 搜索某个 issue 的错误。
最后修改于 2026年10月26日