> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashduty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RUM 查看器聚合分析

> 在 Flashduty RUM 查看器的分析视图中用统计方式、分组与多种图表汇总 RUM 事件，并从聚合结果下钻到原始事件。

RUM 查看器提供**列表**与**分析**两种查看方式。**分析**视图把当前事件类型的事件按你选定的统计方式与分组汇总成图表，用于回答「哪个页面的加载最慢」「错误集中在哪些浏览器」这类问题；需要看单条事件时再切回列表。

## 列表与分析

查看器顶部有两个页签：**列表**逐条展示事件，**分析**把事件汇总成图表。两者共用同一套事件类型、查询条件和时间范围，切换页签不会丢失当前的筛选条件。

分析视图记录在 URL 的 `mode` 参数中：`mode=analytics` 打开分析，省略 `mode` 则打开列表，因此已有的查看器链接仍然指向列表。复制分析视图的链接即可与他人分享同一张图表。

| 页签 | `mode` 取值 | 展示内容 |
| - | - | - |
| **列表** | 省略 | 事件趋势图与事件表格，逐条下钻事件详情 |
| **分析** | `analytics` | 按统计方式与分组聚合后的图表 |

## 选择统计方式与字段

分析视图顶部的**统计**一行决定算什么：先选**统计方式**，再按需选择**统计字段**，然后选择**分组字段**。

### 统计方式

| 统计方式 | `agg` 取值 | 说明 |
| - | - | - |
| **计数** | `count` | 事件条数，不需要字段 |
| **去重计数** | `count_distinct` | 字段去重后的取值个数 |
| **平均值** | `avg` | 数值字段的平均值 |
| **求和** | `sum` | 数值字段的合计 |
| **最小值** | `min` | 数值字段的最小值 |
| **最大值** | `max` | 数值字段的最大值 |
| **P50 / P75 / P90 / P95 / P99** | `p50` / `p75` / `p90` / `p95` / `p99` | 数值字段的近似分位数，用于观察长尾 |

除**计数**外，所有统计方式都需要先选择**统计字段**。选择平均值、求和、最小值、最大值或任一分位数时，字段选择器只列出数值类型字段；时间戳字段（单位 `unix_millisecond`）不参与数值统计，因此不在候选之列。选择**去重计数**时，字段选择器列出可作为分组的标量 facet 字段。切换事件类型后，如果原字段在新的事件类型上不存在，选择器会提示重新选择字段，而不会把问题悄悄变成计数。

图例、表格列与 CSV 表头使用同一套命名：**计数**与**分布图**的统计值显示为「事件数」，其他统计方式显示为「统计方式（字段名）」，例如「平均值（view\_loading\_time）」。

### 分组字段

**分组字段**决定按什么拆开。选定后，图表为每个分组取值单独展示，并在旁边出现**取前**选择器，可选 `5`、`10`、`20`、`50` 组，默认 `10` 组。分组字段可以清空（占位文案为「不分组」），清空后结果汇总为单个数值。分组字段只列出标量 facet 字段；数组字段一条事件持有多个取值，无法作为分组依据。

**分布图**不使用分组字段，该选择器不显示。

## 图表类型

分析视图提供五种图表类型：

| 图表类型 | `viz` 取值 | 说明 |
| - | - | - |
| **时序图** | `timeseries` | 按时间桶展示统计值随时间的走势，为默认图表类型 |
| **排行** | `toplist` | 各分组的统计值从大到小排行 |
| **饼图** | `pie` | 各分组的占比，需满足下方适用范围 |
| **表格** | `table` | 分组与统计值两列明细 |
| **分布图** | `distribution` | 一个数值字段按区间分桶后的事件数直方图 |

**时序图**额外提供**画法**选择器，可在**折线**（`line`）与**柱状**（`bar`）之间切换，默认柱状。选择分组字段、画法为柱状、且统计方式为**计数**或**求和**时，柱状图按分组堆叠，柱高即为合计值；其他统计方式（平均值、分位数、去重计数）不能堆叠，因为各分组的值不可相加。

未选择分组字段时，**排行**与**表格**直接展示该统计值本身，而不是画一根柱子；**时序图**仍按时间展示一条曲线。

## 点击下钻

点击图上的元素会弹出下钻菜单，用于从聚合结果回到明细事件：时序图的某个时间点、排行或表格的某一行、饼图的某个扇区、分布图的某个区间。

| 菜单项 | 作用 |
| - | - |
| **在列表中查看** | 切换到列表页签，只展示该元素背后的事件 |
| **拆分「值」** | 只保留点击的分组取值，并打开分组字段选择器，以便继续按下一层字段拆分；分布图的区间没有分组，此时该项为**筛选为「区间」**，只保留落在该区间的事件 |
| **排除「值」** | 从结果中排除点击的分组取值 |

下钻写入的是与左侧 facet 列表相同的筛选条件，因此搜索框中会显示这些条件，也可以按同样的方式撤销。时序图的时间点下钻会把列表的时间范围收敛到该时间桶，分布图的区间下钻会把列表按该数值区间筛选。

从**在列表中查看**进入列表后，列表顶部出现**返回分析**条，提示「列表已按下钻的条件筛选，返回时恢复原来的条件」。点击即可回到分析视图，并恢复下钻前的查询条件。手动切换页签会结束这次下钻，返回条随之消失。

<Note>
  图上显示为「(空值)」的空值分组暂不支持下钻筛选，对它的**拆分**与**排除**均不可用。
</Note>

## 缩放时序图

在**时序图**上拖选一段时间即可放大到该时间窗。缩放只作用于这张图，查看器自身的时间范围保持不变。放大后图表右上角显示**已放大**徽标与当前窗口范围，点击其中的关闭按钮（**重置缩放**）恢复全量时间范围。切换事件类型、修改查询条件或调整查看器时间范围都会重置缩放。

## 下载图片与导出 CSV

图表右上角提供两个导出按钮：

| 按钮 | 说明 |
| - | - |
| **下载图片** | 将当前图表导出为 PNG，以 2 倍像素密度渲染。表格类型与未选择分组字段的单个数值没有图形可导出，此时按钮不可用 |
| **CSV** | 将当前图表的数据导出为 CSV，文件名形如 `rum-<事件类型>-analytics-<时间戳>.csv`。时序图按「时间、分组、统计值」逐行导出（长表格式）；其他图表每个分组一行 |

结果为空时两个按钮均不可用。

## 分布图

**分布图**按一个数值字段的取值区间分桶，展示每个区间内的事件数，不使用统计方式与分组字段。

* 分桶范围从字段的最小值一直覆盖到 `P99`：RUM 的耗时类数据长尾很长（几千次 1 秒的加载中夹着一次 46 秒），若一直分到最大值，绝大多数取值会被挤进第一根柱子。
* 分桶宽度自动取 `1`、`2` 或 `5` 乘以 10 的幂，使区间边界落在整齐的数值上，整体约切分 40 个桶。
* 高于 `P99` 的取值全部并入最后一个开放区间，图上与 CSV 中显示为「≥ 边界值」。
* 区间按字段自身的单位显示，例如耗时字段的 `1s–1.5s`。

## 饼图的适用范围

饼图必须同时满足两个条件，否则图表区域提示「饼图需要分组，且只适用于计数和求和」：

* 选择了**分组字段**；
* 统计方式为**计数**或**求和**——只有这两种统计方式的分组值可以相加为整体，去重计数、平均值与分位数都不满足这一前提。

## 采样估算

当数据量较大、结果由抽样数据估算得到时，图表右上角显示**采样估算**徽标，悬停提示「数据量较大，结果按抽样数据估算」。

## URL 参数

分析视图的状态保存在 URL 中，复制链接即可复现同一次分析。参数取值非法时会回退到默认值。

| 参数 | 含义 | 取值 | 默认值 |
| - | - | - | - |
| `mode` | 查看方式 | `analytics` | 省略即列表 |
| `agg` | 统计方式 | `count`、`count_distinct`、`avg`、`sum`、`min`、`max`、`p50`、`p75`、`p90`、`p95`、`p99` | `count` |
| `aggField` | 统计字段 | 字段名 | 无 |
| `groupBy` | 分组字段 | 字段名 | 无（不分组） |
| `top` | 取前 N 组 | `5`、`10`、`20`、`50` | `10` |
| `viz` | 图表类型 | `timeseries`、`toplist`、`pie`、`table`、`distribution` | `timeseries` |
| `style` | 时序图画法 | `line`、`bar` | `bar` |

## 下一步

<CardGroup cols={2}>
  <Card title="RUM 查看器概览" icon="compass" href="./overview">
    了解查看器的核心功能
  </Card>

  <Card title="数据查询指南" icon="magnifying-glass" href="./data-query">
    掌握查询语法，精准定位数据
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.