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 会发送带有 hiddenterminated 状态的 view 更新。

用户操作

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

网络请求

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

错误采集

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

性能指标

启用 trackPerformance 后,SDK 会读取小程序性能 API。运行时支持对应 API 时,SDK 会把性能指标写入 view 事件。 如果当前小程序基础库不支持 wx.getPerformancesetUpdatePerformanceListener,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 要求。