Skip to main content
微信小程序 RUM SDK 初始化后,会通过小程序运行时 API 自动采集用户体验数据。你可以通过初始化参数关闭某类采集,也可以用手动 API 补充业务事件。

采集概览

通用事件属性

SDK 会在发送前为每条 RUM 事件补充应用、会话、页面、网络、用户和上下文信息。这些字段用于在查看器中关联同一个用户会话、同一个页面 view 以及同一次网络状态。 SDK 会通过 wx.getNetworkType 获取初始网络类型,并通过 wx.onNetworkStatusChange 更新后续事件的网络状态。

页面访问

启用 trackPages 后,SDK 会包装全局 Page 构造函数,并监听页面生命周期。每个页面会生成 view 事件,页面名称默认使用页面实例的 route。 SDK 会记录以下页面信息: SDK 每 3 秒更新一次活跃页面的停留时长。页面进入后台、隐藏或卸载时,SDK 会发送带有 hidden 或 terminated 状态的 view 更新。

用户操作

启用 trackActions 后,SDK 会包装页面配置中的函数。当函数收到第一个参数,且该参数包含字符串类型的 type 字段时,SDK 会记录一次用户操作。 操作事件会包含以下信息:
为可点击组件设置 data-name 可以让操作名称更容易识别,例如 <button data-name="submit_order">提交订单</button>。

网络请求

启用 trackRequests 后,SDK 会包装 wx.request、wx.uploadFile 和 wx.downloadFile。SDK 上报自身数据的 intake 请求和标记为内部请求的调用会被跳过,避免产生循环采集。 网络请求会生成 resource 事件:

错误采集

启用 trackErrors 后,SDK 会订阅小程序应用错误和未处理 Promise 拒绝。 错误事件会包含错误消息、可选堆栈和来源。手动上报错误时,可以把 error.stack 作为第三个参数传入 addError()。

性能指标

启用 trackPerformance 后,SDK 会读取小程序性能 API。运行时支持对应 API 时,SDK 会把性能指标写入 view 事件。 如果当前小程序基础库不支持 wx.getPerformance 或 setUpdatePerformanceListener,SDK 会跳过对应指标,不会影响其他数据采集。

自定义事件

调用 addCustomEvent(name, context?) 会生成 custom 事件。你可以用它记录无法从页面生命周期、操作或请求中自动推断的业务事件。
pages/order/detail.js

事件关联

SDK 会把非 view 事件关联到事件发生时间对应的页面和会话:
  • 页面事件用于建立当前 view,并定期更新页面停留时长
  • action、resource 和 error 事件会增加当前 view 的计数
  • 如果事件发生时当前会话已过期,SDK 会创建新会话
  • 历史 view 更新和延迟产生的事件会优先按事件时间查找对应页面,避免归属到错误页面

关闭某类自动采集

你可以在初始化时关闭不需要的采集类型:
app.js
关闭某类自动采集只影响对应的自动监听逻辑。手动 API 仍可使用,例如关闭 trackActions 后,你仍然可以调用 addAction() 上报自定义操作。

上报批次

SDK 会把采集到的 RUM 事件加入批次后发送: 未发送成功的 payload 会通过小程序存储能力持久化,并在下次启动批量上报模块时重新发送。SDK 最多保留 10 个待重试 payload,总大小不超过 64 KB,超过 24 小时的 payload 会被丢弃。

相关页面

SDK 接入指南

完成微信小程序 RUM SDK 安装和初始化。

高级配置

配置代理、链路追踪、会话和手动埋点。

兼容性

了解小程序基础库版本、开发工具和平台 API 要求。