如何配置用户访问监测采样¶
RUM Session 采样用于控制进入数据采集链路的用户会话比例。降低采样率可以减少 采集量和存储成本。
配置 Session 采样¶
sessionSampleRate 的取值范围为 0 到 100:
100:采集全部 Session;0:不采集常规 Session;1至99:每个新 Session 按配置比例独立采样。
例如,采集 90% 的 Web RUM Session:
import { datafluxRum } from "@cloudcare/browser-rum"
datafluxRum.init({
applicationId: "<APPLICATION_ID>",
site: "<PUBLIC_OPENWAY_URL>",
clientToken: "<CLIENT_TOKEN>",
service: "browser",
env: "production",
version: "1.0.0",
sessionSampleRate: 90,
})
以上示例使用公网 OpenWay。使用 DataKit 直连时,将 site 和 clientToken
替换为 datakitOrigin,不要同时配置两种上报地址。
Session 创建时会执行一次随机采样。采样结果在当前 Session 生命周期内保持不变, 不会对每条 View、Error 或 Resource 分别抽样。
Session Replay 使用独立的 sessionReplaySampleRate。只修改
sessionSampleRate 不会自动修改 Session Replay 采样率。
运行时重新开始 Session¶
RUM SDK 3.3.6 新增 startSession(),完整 RUM 包和精简 RUM 包均支持。
调用后会立即结束当前 Session,并按照当前采样配置重新开始 Session,不需要等待 用户下一次点击、滚动或键盘操作:
CDN 接入时使用相同 API:
适用场景包括:
- 用户登录、退出或切换账号后,需要隔离前后两段会话;
- 用户同意隐私或监控策略后,需要立即重新执行 Session 采样;
- 应用运行期间需要调整后续 Session 的采集比例。
覆盖运行时采样率¶
调用时可以传入新的 sessionSampleRate:
该值同时用于:
- 本次重新开始的 Session;
- 后续因过期、恢复或用户活动自动续建的 Session。
采样率必须在 0 到 100 之间。传入无效值时,SDK 会输出配置错误,并保留当前 Session,不执行切换。
startSession() 只切换 RUM Session,不会刷新页面,也不会清除 setUser()、
Global Context 或其他业务状态。用户切换账号时,应先更新用户信息,再开始新的
Session。
Session ID 与采样结果
startSession() 会重新执行 Session 采样。新 Session 命中采样时会生成新的
session_id;未命中常规或错误补偿采样时,不会生成可上报的常规 RUM Session。
与 Session Replay 的关系¶
startSession() 只覆盖 sessionSampleRate,不会覆盖
sessionReplaySampleRate 或 sessionReplayOnErrorSampleRate,也不会自动调用
startSessionReplayRecording()。
应用已经调用 startSessionReplayRecording() 时,新 Session 是否允许上传 Replay,
仍由新的 Session 采样结果和现有 Replay 采样配置决定。
其他应用采样¶
- iOS 采样设置参见 iOS 应用接入。
- Android 采样设置参见 Android 应用接入。
- 小程序采样设置参见 小程序应用接入。