信号
SDK 在用户那一侧判断信号,写在操作的action.frustration.type 上,是一个词的列表。MoleSignal 不会再次判断,所以信号就是 SDK 看到的。见事件格式。
一个操作可以带不止一个信号。信号的词以它的类别名开头,所以某一类的数量,就是列表里有以它开头的词的操作数。
页面先说什么
一句话说清多少比例的会话出现了受挫信号,以及出现过的每种信号有多少个操作、分布在多少个会话里。比例是session.frustration.count 大于 0 的会话,占应用全部会话的份额。一个人点十下只算一个会话,所以表格按会话数排序。
时间范围内没有操作带信号时,页面会说明,并提供放宽时间范围。
元素、页面、版本和浏览器
表格列出带信号的操作所分成的组,触及会话最多的组排在最前。每组按信号分别给出操作数,没有的显示短横,再给出它触及的会话数。- 按 选择组是什么。元素(默认)用它的文字和选择器区分。没有文字的元素,比如被人点击的横幅,显示为 (无名称),选择器仍在旁边。其他选项是页面(App 里是屏幕)、版本,以及浏览器(App 里是系统)。
- 信号 把表格收窄到带某一种信号的操作。其他信号的列此时只数同时带这一种信号的操作。
- 搜索把表格收窄到元素或页面里有这些词的操作。
- 表格读取触及会话最多的 100 组,对某一列排序,排的就是这 100 组。点表头按这一列排序,再点一次反过来。
一组由什么构成
点一行,在右侧打开面板。- 第一句说有多少个会话在这一组上遇到信号。大多数在同一个页面时,会说出这个页面。
- 受影响的会话 是图表,画出时间范围内每一段里,信号触及的会话数。
- 信号 把这一组的操作分给各种信号。
- 版本 和 页面(App 里是 屏幕)列出信号发生在哪里,以及占这一组会话的份额。表格正在按它分组的那一项不再重复列出。
- 最近的会话 列出在这一组上遇到信号的最近三个会话,每个有时间、是谁、出现了哪些信号,以及其中是否有一个以错误结束。回放 从第一个信号前 5 秒打开会话。没有录制回放的会话,显示 会话,打开会话页,不定位时刻。
会话页
回放 打开会话页,回放停在那个时刻,直到播放。时刻写在地址里(at,自纪元起的微秒数),所以链接可以分享。地址没有说明时刻时,回放从头开始;时刻在录制之后时,停在末尾。
数字怎么数
句子、表格和面板都是用/api/v1/rum/aggregate 在符合条件的 rum_actions 行上数的:action.frustration.count 大于 0 的操作,再按 action.frustration.type 里的词收窄。会话按 session.id 数,无论有多少操作触及,都只算一次。会话比例在 rum_sessions 上数。数得比时间预算还久的卡片会说明,其余的保留:缩小时间范围再读一次。最近的会话用探索页的搜索读取,新的在前。
页面需要读取 RUM 其余部分的权限 streams.query。见 RUM。