概要

セッションリプレイは、ユーザーのウェブブラウジング体験をキャプチャして視覚的に再生できるようにすることで、ユーザーエクスペリエンスモニタリングを拡張します。セッションリプレイを 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 ブラウザモニタリングをセットアップしてください。モバイル環境でのセットアップについては、モバイルセッションリプレイを参照してください。

最新バージョンの SDK (v3.6.0 以降) である必要があります

API

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() を呼び出してください。

v5.0.0 より古いバージョンの RUM ブラウザ SDK を使用している場合、セッションリプレイの記録が自動的に開始されません。記録を開始するには `startSessionReplayRecording()` を呼び出してください。

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

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

保持

デフォルトでは、セッションリプレイデータは 30 日間保持されます。

保持期間を 15 か月に延長するには、個々のセッションリプレイで Extended Retention を有効にします。これらのセッションは非アクティブである必要があります (ユーザーは体験を完了している)。

Extended Retention はセッションリプレイにのみ適用され、関連イベントは含まれません。15 か月は、セッションが収集されたときではなく、Extended Retention が有効になったときに開始します。

Extended Retention はいつでも無効にできます。セッションリプレイの保持期間がまだデフォルトの 30 日以内である場合、リプレイは最初の 30 日間のウィンドウの終了時に失効します。30 日を過ぎたセッションリプレイで Extended Retention を無効にすると、リプレイは直ちに失効します。

Extended Retention を有効にする

保持期間の延長でどのようなデータが保持されるかは下の図を参照してください。

保持期間の延長で保持されるデータの図

再生履歴

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

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

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

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

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

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

その他の参考資料