ブラウザセッションリプレイ

概要

セッションリプレイは、ユーザーのウェブブラウジング体験をキャプチャして視覚的に再生できるようにすることで、ユーザーエクスペリエンスモニタリングを拡張します。セッションリプレイを RUM パフォーマンスデータと組み合わせると、エラーの識別、再現、解決に有益で、ウェブアプリケーションの使用パターンと設計上の落とし穴に対する洞察をもたらすこともできます。

RUM ブラウザ SDK はオープンソースであり、オープンソースの rrweb プロジェクトを活用したものです。

セッションリプレイレコーダー

セッションリプレイレコーダーは、RUM ブラウザ SDK の一部です。このレコーダーは、Web ページで発生したイベント (DOM の変更、マウスの移動、クリック、入力イベントなど) を、これらのイベントのタイムスタンプとともに追跡して記録することにより、ブラウザの DOM と CSS のスナップショットを取得します。

その後、Datadog は Web ページを再構築し、記録されたイベントをリプレイビューの適切なタイミングで再適用します。セッションリプレイは、通常の RUM セッションと同じ 30 日間の保持ポリシーに従います。

セッションリプレイレコーダーは、IE11 を除き、RUM ブラウザ SDK でサポートされているすべてのブラウザをサポートしています。詳しくは、ブラウザサポートテーブルを参照してください。

セッションリプレイのネットワークへの影響を軽減し、セッションリプレイレコーダーがアプリケーションのパフォーマンスに与えるオーバーヘッドを最小限に抑えるため、Datadog はデータを送信する前に圧縮を行います。また、Datadog は CPU に負荷のかかる作業 (圧縮など) のほとんどを専用 Web ワーカーに委ねることで、ブラウザの UI スレッドの負荷を軽減しています。ネットワーク帯域幅への影響は 100kB/分未満と予想されます。

セットアップ

セッションリプレイは、RUM ブラウザ SDK で利用できます。セッションリプレイのデータ収集を開始するには、RUM アプリケーションの作成、クライアントトークン生成、RUM ブラウザ SDK の初期化により、Datadog RUM ブラウザモニタリングをセットアップしてください。モバイル環境でのセットアップについては、モバイルセッションリプレイを参照してください。

Session Replay は SDK バージョン 3.6.0 以降でサポートされます。

使用方法

RUM ブラウザ SDK v5.0.0 から、init() を呼び出した際にセッションリプレイの記録が自動的に開始されます。記録を条件付きで開始する場合は、startSessionReplayRecordingManually 初期化パラメータを使用し、startSessionReplayRecording() を呼び出してください。

例として、認証されたユーザーセッションのみを記録するには

window.DD_RUM.init({
  applicationId: '<DATADOG_APPLICATION_ID>',
  clientToken: '<DATADOG_CLIENT_TOKEN>',
  site: '<DATADOG_SITE>',
  //  service: 'my-web-application',
  //  env: 'production',
  //  version: '1.0.0',
  sessionSampleRate: 100,
  sessionReplaySampleRate: 100,
  startSessionReplayRecordingManually: true,
  ...
});

if (user.isAuthenticated) {
    window.DD_RUM.startSessionReplayRecording();
}

セッションリプレイの記録を停止するには、stopSessionReplayRecording() を呼び出してください。

RUM Browser SDK のバージョンが v5.0.0 より古い場合、Session Replay の記録は自動的に開始されません。startSessionReplayRecording() を呼び出して記録を開始してください。

セッションリプレイを無効にする

セッションの記録を停止するには、sessionReplaySampleRate0 に設定します。これにより、Browser RUM & Session Replay プランのデータ収集が停止します。

RUM Browser SDK のバージョンが v5.0.0 より前の場合は、replaySampleRate0 に設定してください。

再生履歴

プレーヤーページに表示される watched カウントをクリックすると、指定したセッションリプレイを誰が視聴したかを確認できます。この機能により、記録を共有したい相手がすでに視聴しているかどうかを確認することができます。

セッションの記録を誰が見たかを確認

履歴には、プレーヤーページやノートブック、サイドパネル内の埋め込みプレーヤーで行われた再生のみが含まれます。含まれる再生は、監査証跡イベントも生成します。サムネイルプレビューは履歴に含まれません。

自分の再生履歴を見るには、プレイリストの My Watch History をご覧ください。

モバイルセッションリプレイ

モバイル向けセッションリプレイについて詳しくはこちらをご覧ください。

その他の参考資料