采集概览
通用事件属性
SDK 会在发送前为每条 RUM 事件补充应用、会话、页面、网络、用户和上下文信息。这些字段用于在查看器中关联同一个用户会话、同一个页面 view 以及同一次网络状态。
SDK 会通过
wx.getNetworkType 获取初始网络类型,并通过 wx.onNetworkStatusChange 更新后续事件的网络状态。
页面访问
启用trackPages 后,SDK 会包装全局 Page 构造函数,并监听页面生命周期。每个页面会生成 view 事件,页面名称默认使用页面实例的 route。
SDK 会记录以下页面信息:
SDK 每 3 秒更新一次活跃页面的停留时长。页面进入后台、隐藏或卸载时,SDK 会发送带有
hidden 或 terminated 状态的 view 更新。
用户操作
启用trackActions 后,SDK 会包装页面配置中的函数。当函数收到第一个参数,且该参数包含字符串类型的 type 字段时,SDK 会记录一次用户操作。
操作事件会包含以下信息:
网络请求
启用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
trackActions 后,你仍然可以调用 addAction() 上报自定义操作。
上报批次
SDK 会把采集到的 RUM 事件加入批次后发送:
未发送成功的 payload 会通过小程序存储能力持久化,并在下次启动批量上报模块时重新发送。SDK 最多保留
10 个待重试 payload,总大小不超过 64 KB,超过 24 小时的 payload 会被丢弃。
相关页面
SDK 接入指南
完成微信小程序 RUM SDK 安装和初始化。
高级配置
配置代理、链路追踪、会话和手动埋点。
兼容性
了解小程序基础库版本、开发工具和平台 API 要求。