Skip to content

RUM

RUM(Real User Monitoring)从真实用户浏览器采集页面性能、JavaScript 错误、网络请求和关键交互,反映实验室环境难以覆盖的设备、网络与地域差异。

埋点和监控

埋点与监控

埋点是在页面访问、交互或业务流程中记录事件,侧重回答“用户做了什么”;监控持续观察程序运行状态,侧重回答“系统是否正常、用户体验如何”。二者可以共享采集与上报能力,通过页面、会话和版本等上下文关联分析。

  • 产品角度:了解访问入口、用户行为和关键流程转化,判断功能是否满足需求。
  • 技术角度:发现性能瓶颈与异常,评估影响范围,验证发布后的体验变化。
  • 经营角度:结合访问、留存和业务结果,评估投入产出,为资源分配提供依据。

采集内容

基本信息

为事件附带必要上下文,便于按时间、页面和用户环境分析问题:

  • 时间:事件发生时间,用于还原行为顺序和分析趋势。
  • 页面:URL、路由、来源页面和访问入口。
  • 用户与会话:经适当处理的用户标识、匿名访客标识和会话标识。
  • 环境:浏览器、操作系统、设备型号、网络类型及应用版本;按实际可获取的信息采集。
  • 地域:可结合服务端接收到的 IP 推导粗粒度地域;按需处理,避免不必要地保留原始 IP。

行为与业务数据

  • PV、UV 和访问次数,观察流量规模及访问频率。
  • 访问来源与渠道,了解用户通过什么入口进入;营销渠道参数参见 Google Analytics / UTM Parameters
  • 页面停留时长,区分页面打开时长与实际可见、活跃时长。
  • 页面访问、路由切换、点击、搜索、提交等事件,以及登录、支付等关键业务结果。

性能监控

  • 按地域、设备、浏览器和网络条件分析首屏体验,避免只看整体平均值。
  • 关注白屏时间、内容呈现时间、Core Web Vitals 和关键交互耗时;白屏、首屏完成应先约定测量起止点。
  • 记录静态资源加载耗时,定位图片、脚本和样式等资源的加载瓶颈。
  • 观察 Fetch/XHR 成功率、延迟,并关联后端 Trace ID。

异常监控

  • JavaScript 运行时异常与未处理的 Promise 拒绝。
  • 脚本、图片和 CSS 等资源加载失败。
  • 请求失败、超时和关键业务流程失败。

CSS 资源加载失败与样式显示异常需要区分:布局错位、遮挡等视觉问题通常不会抛出 JavaScript 异常,需要结合视觉回归测试或页面检查发现。

采集时机

  • 页面进入:记录页面访问、入口与初始上下文;单页应用也要覆盖路由切换,并避免首次进入重复上报。
  • 事件触发:在用户交互或业务结果发生时记录事件。按钮点击与提交成功应分别记录,避免把操作意图当作业务完成。
  • 页面离开或切到后台:汇总停留时长等数据。页面可能被直接关闭或进程终止,不能假设离开事件一定触发;重要事件应及时上报,时长统计也应考虑页面可见性变化。

访问指标

统计前统一时间范围、访客识别方式、会话划分和去重规则,避免不同报表使用不同口径。

指标含义统计注意事项
UV(Unique Visitor,独立访客数)指定时间范围内去重后的访客数量例如按天统计时,同一访客当天多次访问只计一个 UV;浏览器或账号标识不一定对应一个自然人,跨设备、清除 Cookie 等会影响结果。
PV(Page View,页面浏览量)页面被浏览的累计次数同一页面多次访问可累计;普通按钮点击不等于一次 PV,单页应用需明确哪些路由切换计为页面浏览。
VV(Visit View,访问次数)按约定的会话规则划分的访问总次数同一访客一天可产生多次访问;应明确会话超时与重开规则,不能仅依赖关闭所有页面判定访问结束。

例如,同一访客上午浏览 3 个页面,下午又浏览 2 个页面:按天统计且能识别为同一访客时,UV 为 1、PV 为 5;若两段行为按会话规则属于两次访问,则 VV 为 2。

性能指标

  • FCP(First Contentful Paint):页面首次绘制文本、图片等内容的时间点。
  • TTI(Time To Interactive):页面达到可交互状态的时间指标。
  • TTFB(Time To First Byte):浏览器发起请求到接收到第一个字节的时间。
  • LCP(Largest Contentful Paint):视口内最大内容元素的绘制时间,用于衡量主要内容的加载体验。
  • CLS(Cumulative Layout Shift):衡量页面意外布局偏移的分数。

隐私与成本

采集前明确用户同意、数据用途、保留期和地域要求。URL、Query、表单、Header、用户标识和错误上下文必须脱敏;使用采样、聚合和会话上限控制成本。

工具

RUM 与 APM 通过 Trace ID 和版本关联后,才能从用户错误定位到具体后端调用和发布变更。

Powered by VitePress