跳转到主要内容
Flashduty RUM 的会话重放功能集成于 RUM SDK 中,通过简单配置采样比例和隐私规则,即可快速启用重放功能。

开启采集

重放 SDK 已集成至 RUM SDK,配置采样比例便可开启重放功能:
window.FC_RUM.init({
  applicationId: "YOUR_APPLICATION_ID",
  clientToken: "YOUR_CLIENT_TOKEN",
  // ...
  sessionReplaySampleRate: 10, // 默认会话重放的 session 采样率 10%
  // ...
});
采样方式:在客户端 SDK 初始化 session 时生成 0-1 之间的随机数,与 rate/100 进行大小比较。如落在区间内,则该 session 会作为采集样本,回放数据会在 session 周期内采集与上报。在 session 被采样的基础上,会话重放的采样率(sessionReplaySampleRate)会被进行二次计算和采样。

关闭采集

如果需要关闭采集功能,将对应的 replay 采样率调整至 0 或者直接去掉该配置项即可:
window.FC_RUM.init({
  applicationId: "YOUR_APPLICATION_ID",
  clientToken: "YOUR_CLIENT_TOKEN",
  // ...
  sessionReplaySampleRate: 0, // 关闭重放功能
  // ...
});

工作原理

会话重放 SDK 基于 rrweb 实现。
1

录制阶段

录制 SDK 会将当前 DOM 和 CSS 样式打快照,并在用户行为(DOM 变化、鼠标移动、点击、表单输入等)发生时收集对应的事件。通过序列化、压缩、去除敏感信息后进行数据上报。
2

重放阶段

播放 SDK 会根据快照进行 DOM 重建,并在合适的时机将事件行为转换为 DOM 变化并进行展示。
  • 在数据上报前,SDK 会提前进行数据压缩,并将该 CPU 密集操作放在 Web Worker 中执行,不会影响主线程渲染
  • SDK 兼容性和 RUM SDK 一致,支持 IE11 以上浏览器

下一步