概要
セッションリプレイは、ユーザーのウェブブラウジング体験をキャプチャして視覚的に再生できるようにすることで、ユーザーエクスペリエンスモニタリングを拡張します。セッションリプレイを 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 is supported by SDK version 3.6.0 or later.
使用方法
RUM ブラウザ SDK v5.0.0 から、init()
を呼び出した際にセッションリプレイの記録が自動的に開始されます。記録を条件付きで開始する場合は、startSessionReplayRecordingManually
初期化パラメータを使用し、startSessionReplayRecording()
を呼び出してください。
For example, to only record authenticated user sessions:
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()
を呼び出してください。
When using a version of the RUM Browser SDK older than v5.0.0, Session Replay recording does not begin automatically. Call startSessionReplayRecording()
to begin recording.
セッションリプレイを強制する
一部のシナリオでは、開始時にリプレイ対象から除外されていたセッションであっても、後から録画を開始したい場合があります。たとえば、新しくデプロイしたページでセッションリプレイを強制的に有効にしてより詳細にモニタリングしたい場合や、エラーを検出した後に録画を開始して、完全なリプレイデータを確保したい場合などです。
現在のセッションの残りの時間にわたって強制的にセッションリプレイを実行するには、startSessionReplayRecording({ force: true })
を呼び出してください。
force オプションを使用すると、セッションは最初のサンプリング決定にかかわらず、セッションが終了するまでリプレイ対象として扱われます。
セッションリプレイを無効にする
To stop session recordings, set sessionReplaySampleRate
to 0
. This stops collecting data for the Browser RUM & Session Replay plan.
If you're using a version of the RUM Browser SDK previous to v5.0.0, set replaySampleRate
to 0
.
保持
デフォルトでは、Session Replay データは 30 日間保持されます。
保持期間を 15 か月に延長するには、個別のセッションリプレイごとに Extended Retention を有効にできます。これらのセッションはアクティブではない (ユーザーの操作が終了している) 必要があります。
Extended Retention は Session Replay にのみ適用され、関連イベントは含まれません。15 か月は、セッションが収集されたときではなく、Extended Retention が有効になったときに開始します。
Extended Retention はいつでも無効にできます。Session Replay の保持期間がまだデフォルトの 30 日以内である場合、リプレイは最初の 30 日間のウィンドウの終了時に失効します。30 日を過ぎた Session Replay で Extended Retention を無効にすると、リプレイは直ちに失効します。
保持期間の延長でどのようなデータが保持されるかを理解するには、下図を参照してください。
再生履歴
プレーヤーページに表示される watched カウントをクリックすると、指定した Session Replay を誰が視聴したかを確認できます。この機能により、記録を共有したい相手がすでに視聴しているかどうかを確認することができます。
履歴には、プレーヤーページやノートブック、サイドパネル内の埋め込みプレーヤーで行われた再生のみが含まれます。含まれる再生は、監査証跡イベントも生成します。サムネイルプレビューは履歴に含まれません。
自分の再生履歴を見るには、プレイリストの My Watch History をご覧ください。
Mobile Session Replay
モバイル向けセッションリプレイについて詳しくはこちらをご覧ください。
その他の参考資料