Web アプリケーションの統合¶
このページの設定が完了すると、Browser RUM SDK は自動的にページの View、リソースリクエスト、フロントエンドエラー、ユーザー操作を収集し、データをGuanceに報告します。
統合パスの選択¶
まずアプリケーションの形態に応じてエントリを選択し、View の重複設定やサーバーサイドレンダリング段階でのブラウザ API へのアクセスを避けてください。
| アプリケーション形態 | 推奨エントリ | 説明 |
|---|---|---|
| Webpack、Vite、Rollup などのビルドツールを使用 | NPM 統合 | 推奨方式。バージョン管理と必要な機能のみの統合が容易 |
| フロントエンドのビルドフローなし | CDN 非同期ロード | ページ解析をブロックしないが、初期化前のリクエストやエラーを見逃す可能性がある |
| ページのごく初期段階のエラーやリクエストを確実に収集したい | CDN 同期ロード | 早期に初期化するが、ページロード時間を消費する |
| React、Vue、Angular シングルページアプリケーション | フロントエンドフレームワークプラグイン統合 | Router View とフレームワークエラーを自動管理 |
| Next.js、Nuxt | SSR フレームワークでの統合 | サーバーサイドとブラウザ環境を区別し、View の重複を回避 |
| Electron | Electron アプリケーション統合 | Renderer プロセスでのみ初期化 |
統合情報の準備¶
- 「RUM > アプリ一覧 > アプリを作成 > Web」に移動します。
- アプリを作成し、コンソールで生成された
applicationId、env、versionなどの設定を取得します。 -
データ報告方式を選択します。
-
公開 OpenWay:
siteとclientTokenを取得します。DataKit のデプロイは不要です。 - DataKit 直結:
datakitOriginを準備します。DataKit で RUM コレクター を有効にし、インターネットからアクセス可能で IP 地理情報データベースをインストール するよう設定します。
2 つの報告方式を同時に設定しないでください
公開 OpenWay は site と clientToken を使用します。DataKit 直結は datakitOrigin を使用します。現在の統合方式に必要なフィールドのみを保持してください。
報告方式¶
SDK の統合¶
統合方式 |
説明 |
|---|---|
| NPM | SDK コードをフロントエンドプロジェクトにバンドルし、バージョンを固定しやすい。SDK 初期化前のリクエストやエラーを見逃す可能性がある。 |
| CDN 非同期ロード | CDN から非同期で SDK スクリプトを読み込み、ページロードパフォーマンスに影響を与えない。初期化前のリクエストやエラー収集を見逃す可能性がある。 |
| CDN 同期ロード | CDN から同期で SDK スクリプトを読み込み、すべてのエラーとパフォーマンス指標を完全に収集できる。ただし、ページロードパフォーマンスに影響を与える可能性がある。 |
NPM 統合¶
フロントエンドプロジェクトに SDK をインストールしてインポートします。
プロジェクト内で SDK を初期化します。
import { datafluxRum } from "@cloudcare/browser-rum"
datafluxRum.init({
applicationId: "<APPLICATION_ID>",
site: "<PUBLIC_OPENWAY_URL>",
clientToken: "<CLIENT_TOKEN>",
service: "web-app",
env: "production",
version: "1.0.0",
sessionSampleRate: 100,
trackUserInteractions: true
})
CDN 同期ロード¶
HTML ファイルにスクリプトを追加します。
<script
src="https://static.guance.com/browser-sdk/v3/dataflux-rum.js"
type="text/javascript"
></script>
<script>
window.DATAFLUX_RUM &&
window.DATAFLUX_RUM.init({
applicationId: "<APPLICATION_ID>",
site: "<PUBLIC_OPENWAY_URL>",
clientToken: "<CLIENT_TOKEN>",
service: "web-app",
env: "production",
version: "1.0.0",
sessionSampleRate: 100,
trackUserInteractions: true
})
</script>
CDN 非同期ロード¶
HTML ファイルにスクリプトを追加します。
<script>
;(function (h, o, u, n, d) {
h = h[d] = h[d] || {
q: [],
onReady: function (c) {
h.q.push(c)
},
}
d = o.createElement(u)
d.async = 1
d.src = n
n = o.getElementsByTagName(u)[0]
n.parentNode.insertBefore(d, n)
})(
window,
document,
"script",
"https://static.guance.com/browser-sdk/v3/dataflux-rum.js",
"DATAFLUX_RUM"
)
DATAFLUX_RUM.onReady(function () {
DATAFLUX_RUM.init({
applicationId: "<APPLICATION_ID>",
site: "<PUBLIC_OPENWAY_URL>",
clientToken: "<CLIENT_TOKEN>",
service: "web-app",
env: "production",
version: "1.0.0",
sessionSampleRate: 100,
trackUserInteractions: true
})
})
</script>
上記の例では公開 OpenWay を使用しています。DataKit 直結を使用する場合は、site と clientToken を削除し、代わりに datakitOrigin を設定してください。
統合の確認¶
- SDK を統合したページを開き、ページ遷移、ボタンクリック、API リクエストを 1 回ずつ実行します。
- ブラウザの開発者ツールの Network タブで
/v1/write/rumをフィルタリングし、成功した報告リクエストが存在することを確認します。 - Console を確認し、
Application ID is not configured、datakitOrigin or site is not configuredなどの初期化エラーがないことを確認します。 - 「RUM > アプリ一覧」に移動し、対応する Web アプリケーションを開き、エクスプローラーで
service、env、versionでフィルタリングして、View、Resource、または Action データが存在することを確認します。
View データが表示されれば、基本統合は成功です
Error、Resource、Action は、ページで対応するイベントが実際に発生した後にのみ表示されます。データがない場合は、まず現在の Session が sessionSampleRate に該当しているかを確認し、次に FAQ を参照してください。
よく使われるオプション設定¶
基本データの確認が成功したら、必要に応じて他の機能を有効にします。
| 目的 | 設定または API | ドキュメント |
|---|---|---|
| フロントエンドとバックエンドのトレーシング連携 | allowedTracingUrls、traceType |
トレーシング設定 |
| 収集比率の制御 | sessionSampleRate、startSession() |
サンプリング設定 |
| Session Replay の有効化 | startSessionReplayRecording() |
Web Session Replay |
| SPA Router View の自動管理 | plugins |
フロントエンドフレームワークプラグイン統合 |
| WebGL/WebGL2 の録画 | plugins、Canvas 自動録画 |
Canvas 録画マニュアル |
| ログインユーザーの識別 | setUser() |
カスタムユーザー識別子 |
| ビジネスフィールドやイベントの追加 | Global Context、addAction()、addError() |
カスタムデータとイベント |
トレーシング設定(オプション)¶
NPM + TypeScript 統合の場合、traceType には対応するブランドの browser-core パッケージからインポートした TraceType 列挙型を使用する必要があります。
import { TraceType } from "@cloudcare/browser-core"
import { datafluxRum } from "@cloudcare/browser-rum"
datafluxRum.init({
applicationId: "<APPLICATION_ID>",
site: "<PUBLIC_OPENWAY_URL>",
clientToken: "<CLIENT_TOKEN>",
allowedTracingUrls: ["https://api.example.com"],
traceType: TraceType.DDTRACE
})
TraceType.DDTRACE のランタイム値は "ddtrace" のままです。CDN 統合にはモジュールインポートがないため、明示的に設定する場合は対応するランタイム文字列を使用します。トレーシングを有効にした後は、API サーバー側で対応する Trace Header を許可する必要もあります。詳細は APM と RUM の連携方法 を参照してください。
通常の Session がサンプリングに該当しない場合でも、Trace Header をバックエンドに渡す必要がある場合は、allowTraceHeaderWithoutSession を明示的に有効にできます。
datafluxRum.init({
applicationId: "<APPLICATION_ID>",
site: "<PUBLIC_OPENWAY_URL>",
clientToken: "<CLIENT_TOKEN>",
sessionSampleRate: 0,
sessionOnErrorSampleRate: 0,
allowedTracingUrls: ["https://api.example.com"],
allowTraceHeaderWithoutSession: true
})
有効にすると、SDK は allowedTracingUrls に一致する XHR および Fetch リクエストにのみ Trace Header を注入します。この設定は RUM Session を作成したり強制したりせず、サンプリングされていない Session の View、Error、Resource、Action データを報告することもありません。API サーバーは選択した traceType に対応するリクエストヘッダーを許可する必要があります。クロスオリジンリクエストの場合は CORS も正しく設定する必要があります。
パラメータ設定¶
初期化パラメータ¶
| パラメータ | 型 |
必須 |
デフォルト値 |
説明 |
|---|---|---|---|---|
applicationId |
String | はい | Guanceで作成されたアプリケーション ID。 | |
datakitOrigin |
String | DataKit 直結時 | DataKit データ報告アドレス。形式は プロトコル(://を含む)+ ドメイン名または IP + オプションのポート。例:https://datakit.example.com。 |
|
clientToken |
String | 公開 OpenWay 時 | 公開 OpenWay データ報告トークン。Guanceコンソールから取得します。 | |
site |
String | 公開 OpenWay 時 | 公開 OpenWay データ報告アドレス。Guanceコンソールから取得します。 | |
env |
String | いいえ | Web アプリケーションの現在の環境。例:prod:本番環境;gray:カナリア環境;pre:ステージング環境;common:日常環境;local:ローカル環境。 | |
version |
String | いいえ | Web アプリケーションのバージョン番号。 | |
service |
String | いいえ | 現在のアプリケーションのサービス名。デフォルトは browser。カスタム設定も可能。 |
|
sessionSampleRate |
Number | いいえ | 100 |
指標データ収集の割合(%):100 は全収集、0 は収集なし。 |
sessionOnErrorSampleRate |
Number | いいえ | 0 |
エラーセッション補償サンプリング率:sessionSampleRate でサンプリングされなかったセッションでエラーが発生した場合、この比率で収集します。このようなセッションはエラー発生時にイベントの記録を開始し、セッション終了まで記録を継続します。SDK バージョン要件 >= 3.2.19 |
sessionReplaySampleRate |
Number | いいえ | 100 |
Session Replay データ収集の割合(%):100 は全収集、0 は収集なし。 |
sessionReplayOnErrorSampleRate |
Number | いいえ | 0 |
Session Replay エラーセッションリプレイ補償サンプリング率:sessionReplaySampleRate でサンプリングされなかったセッションでエラーが発生した場合、この比率で収集します。このようなリプレイは、エラー発生から最大 1 分前のイベントを記録し、セッション終了まで記録を継続します。SDK バージョン要件 >= 3.2.19 |
trackSessionAcrossSubdomains |
Boolean | いいえ | false |
同じドメインのサブドメイン間でキャッシュを共有します。 |
usePartitionedCrossSiteSessionCookie |
Boolean | いいえ | false |
パーティション化されたセキュアクロスサイトセッション Cookie を有効にするかどうか。詳細 |
useSecureSessionCookie |
Boolean | いいえ | false |
セキュアセッション Cookie を使用します。これにより、安全でない(非 HTTPS)接続で送信される RUM イベントが無効になります。 |
traceType |
TraceType |
いいえ | TraceType.DDTRACE(ランタイム値は ddtrace) |
トレーシングツールのタイプを設定します。NPM 統合では TraceType 列挙型を使用し、CDN 統合では対応するランタイム文字列を使用します。現在サポートされているのは DDTRACE(ddtrace)、ZIPKIN_MULTI_HEADER(zipkin)、ZIPKIN_SINGLE_HEADER(zipkin_single_header)、W3C_TRACEPARENT(w3c_traceparent)、W3C_TRACEPARENT_64(w3c_traceparent_64bit)、SKYWALKING_V3(skywalking_v3)、JAEGER(jaeger)。❗️ 1. OpenTelemetry は zipkin_single_header、w3c_traceparent、zipkin、jaeger の 4 種類をサポートします。2. この設定は allowedTracingUrls に依存します。3. 対応するタイプを設定する場合、API サービスで対応する Access-Control-Allow-Headers を設定する必要があります。詳細は APM と RUM の連携方法 を参照してください。 |
traceId128Bit |
Boolean | いいえ | false |
traceID を 128 ビットモードで生成するかどうか。traceType に対応します。現在 zipkin、jaeger をサポートしています。 |
allowedTracingUrls |
Array | いいえ | [] |
Trace Header の注入を許可するリクエスト URL のマッチングリスト。配列項目には、完全な URL、正規表現、マッチング関数、または match と traceType を含むオブジェクトを使用できます。例:["https://api.example.com/xxx", /https:\/\/.*\.my-api-domain\.com\/xxx/, (url) => url.includes("/api/")]。 |
allowTraceHeaderWithoutSession |
Boolean | いいえ | false |
現在の RUM Session がサンプリングに該当しない場合でも、allowedTracingUrls に一致する XHR および Fetch リクエストに Trace Header を注入するかどうか。有効にしても Session は作成されず、サンプリングされていない Session の RUM データは報告されません。 |
allowedTracingOrigins |
Array | いいえ | [] |
非推奨。旧バージョンとの互換性のためにのみ保持されています。新規統合では allowedTracingUrls を使用してください。両方が設定されている場合、allowedTracingUrls がこの設定を上書きします。 |
trackUserInteractions |
Boolean | いいえ | false |
ユーザー操作の収集を有効にするかどうか。 |
trackViewsManually |
Boolean | いいえ | false |
SDK の自動 View を無効にし、アプリケーションが startView() を呼び出して手動で View を開始するかどうか。フレームワーク Router プラグインはこの設定を自動的に管理するため、ビジネス側で重複して設定する必要はありません。詳細はこちら |
plugins |
Array | いいえ | [] |
RUM プラグインを登録します。init() 時に渡す必要があります。フレームワークプラグインは、React、Vue、Angular、Next.js、Nuxt のルーティング View とフレームワークエラーを収集できます。SDK バージョン要件 >= 3.3.6。詳細はフロントエンドフレームワークプラグイン統合を参照してください。WebGL Replay は SDK 3.3.7 から提供され、RUM メインパッケージのバージョン >= 3.3.7 が必要です。また、互換性のある browser-rum-webgl プラグインを追加でインストールして登録する必要があります。詳細はCanvas 録画マニュアルを参照してください。 |
enableExperimentalFeatures |
Array | いいえ | [] |
実験的機能を有効にします。["track_websockets"] を設定すると、ネイティブ WebSocket の接続レベルの Resource を収集できます。SDK バージョン要件 >= 3.3.6。詳細はこちら |
actionNameAttribute |
String | いいえ | バージョン要件:>3.1.2。要素にカスタム属性を追加して、アクションの名前を指定します。具体的な使用方法はこちらをご覧ください。 |
|
beforeSend |
Function(event, context):Boolean | いいえ | バージョン要件:>3.1.2。データのインターセプトと変更。詳細はこちら |
|
storeContextsToLocal |
Boolean | いいえ | バージョン要件:>3.1.2。setUser、addGlobalContext API で追加したユーザーカスタムデータをローカルの localStorage にキャッシュするかどうか。 |
|
storeContextsKey |
String | いいえ | バージョン要件:>3.1.18。localStorage に保存するキーを定義します。デフォルトでは未入力で自動生成されます。このパラメータは主に、同じドメイン内の異なるサブパスでストアを共有する問題を区別するためのものです。 |
|
compressIntakeRequests |
Boolean | いいえ | RUM データリクエストの内容を圧縮し、大量のデータ送信時の帯域幅使用量を削減すると同時に、送信データのリクエスト数を削減します。圧縮は Web Worker スレッドで実行されます。CSP セキュリティポリシーについては、CSP セキュリティを参照してください。SDK バージョン要件 >= 3.2.0。DataKit バージョン要件 >= 1.60。デプロイメント版要件 >= 1.96.178。 |
|
workerUrl |
String | いいえ | sessionReplay と compressIntakeRequests のデータ圧縮はどちらも Web Worker スレッドで実行されるため、デフォルトでは CSP セキュリティアクセスが有効な場合、worker-src blob: を許可する必要があります。この設定により、自己ホストの Worker アドレスを追加できます。CSP セキュリティポリシーについては、CSP セキュリティを参照してください。SDK バージョン要件 >= 3.2.0。 |
|
remoteConfiguration |
Boolean | いいえ | データ収集のリモート設定機能を有効にするかどうか。デフォルトでは無効です。リモート設定機能を使用すると、新しいバージョンをリリースしなくても、データ収集の設定項目を動的に変更できます。例えば、サンプリング率やユーザー操作収集の有効/無効をリモートで変更できます。リモート設定機能を使用するには、Guanceコンソールで環境変数設定を有効にする必要があります。SDK バージョン要件 >= 3.2.20。DataKit バージョン要件 >= 1.60。Guanceコンソールで環境変数機能を有効にする方法 |
|
replayCanvasWorkerUrl |
string |
いいえ | Canvas スナップショットエンコーディング専用の Worker アドレス。workerUrl の代わりにはなりません。この設定により、自己ホストの Worker アドレスを追加できます。CSP セキュリティポリシーについては、CSP セキュリティを参照してください。SDK バージョン要件 >= 3.3.0。 |
|
replayCanvasEnabled |
boolean |
いいえ | false |
Canvas 録画を有効にするかどうか。有効にしないと Canvas は収集されません。SDK バージョン要件 >= 3.3.0。 |
replayCanvasMode |
'manual' \| 'auto' |
いいえ | auto |
Canvas 録画モード。manual の場合は手動で snapshotCanvas(canvas) を呼び出す必要があります。auto は自動録画です。 |
replayCanvasSampling |
number \| 'all' |
いいえ | 2 |
replayCanvasMode: 'auto' の場合のみ有効。正の数は自動スナップショットパスを選択します。2 から始めることを推奨します。数値そのものは Canvas 2D の収集頻度を制御しません。'all' は Canvas 2D でより高い再現度のコマンドキャプチャを試みます。複雑なシーンではスナップショットにフォールバックする可能性があります。WebGL プラグインは常に予算制限付きのピクセルスナップショットを使用します。 |
replayCanvasAutoInterval |
number |
いいえ | 250 |
各 Canvas の自動スナップショットの目標間隔(ミリ秒)。複数の Canvas は公平にラウンドロビンされます。実際のリズムは、クールダウン、バックオフ、ページの可視性、グローバルランタイム予算の制約にも影響されます。 |
replayCanvasQuality |
'low' \| 'medium' \| 'high' \| number |
いいえ | 0.4 |
Canvas スナップショットのエンコーディング品質。文字列のプリセットは、サンプリングと自動スケジューリング予算も同時に調整します。画質のみを変更したい場合は、0 から 1 の間の数値を指定してください。 |
replayCanvasAutoCooldown |
number |
いいえ | 250 |
同じ Canvas の自動スナップショットの最小クールダウン時間(ミリ秒)。 |
replayCanvasAutoUnchangedBackoff |
number |
いいえ | 3000 |
軽量シグネチャが継続して変化しない場合、次の完全なエンコーディング検証をトリガーする間隔(ミリ秒)。その間も、制限付きの適応レートで変化を検出し続けます。 |
replayCanvasAutoFailureBackoff |
number |
いいえ | 5000 |
自動収集が失敗した場合のバックオフ時間(ミリ秒)。 |
replayCanvasAutoMaxPerRun |
number |
いいえ | 2 |
1 回の自動スケジューリングで最大処理する Canvas 数。 |
replayCanvasFlushImmediately |
boolean |
いいえ | manual: trueauto: false |
Canvas フレームがリプレイに正常に取り込まれた後、優先的にフラッシュするかどうか。 |
silentMultipleInit |
boolean |
いいえ | 重複する初期化をサイレントに無視するかどうか。 |
low、medium、high の文字列プリセットを使用しない場合、Canvas 自動スケジューリングのベースラインは次のようになります。 sampling 2、各 Canvas の目標 interval 250 ms、cooldown 250 ms、unchanged backoff 3000 ms、failure backoff 5000 ms、1 ラウンドあたり最大 2 つの Canvas。文字列プリセットはこれらの予算とエンコーディング品質を同時に置き換えます。複数の Canvas は公平なラウンドロビンとグローバル収集予算の制限も受けます。明示的な個別設定は、プリセット内の対応する値を上書きします。完全なプリセットマトリックスについては、Canvas 録画マニュアルを参照してください。
上記の高頻度スケジューリングベースラインは Canvas 2D 用です。WebGL プラグインは、interval/cooldown が明示的に設定されていない場合、より保守的な GPU 読み戻しレートを継続します。明示的な個別設定によってのみ、それぞれが上書きされます。
site パラメータの処理¶
| ノード名 | アドレス |
|---|---|
| 中国リージョン 1(杭州) | https://rum-openway.guance.com |
| 中国リージョン 2(寧夏) | https://aws-openway.guance.com |
| 中国リージョン 4(広州) | https://cn4-openway.guance.com |
| 中国リージョン 6(香港) | https://cn6-openway.guance.one |
| 国際リージョン 1(オレゴン) | https://us1-openway.guance.com |
| 欧州リージョン 1(フランクフルト) | https://eu1-openway.guance.one |
| アジア太平洋リージョン 1(シンガポール) | https://ap1-openway.guance.one |
| アフリカリージョン 1(南アフリカ) | https://za1-openway.guance.com |
| インドネシアリージョン 1(ジャカルタ) | https://id1-openway.guance.com |
ランタイム Session 制御¶
RUM SDK 3.3.6 で startSession() が追加されました。呼び出すとすぐに現在の Session を終了し、現在のサンプリング設定に従って新しい Session を開始します。次のユーザー操作を待つ必要はありません。
ランタイムの sessionSampleRate を同時に上書きすることもできます。
サンプリング率は 0 から 100 の間でなければなりません。この上書き値は、今回および後続の自動継続 Session に使用されます。完全な RUM パッケージと軽量 RUM パッケージの両方でこの API をサポートしています。詳細なセマンティクスと使用シナリオについては、ランタイムでの Session 再開始を参照してください。
必要に応じて高度な機能を有効にする¶
エラーセッションイベントのみを収集¶
バージョン要件
SDK バージョン要件 >= 3.2.19。
ページでエラーがトリガーされると、SDK は自動的に次の処理を実行します。
- 継続的記録:エラー発生時から、セッションの全ライフサイクルデータを完全に記録します。
- 正確な補償:独立したサンプリングチャネルにより、エラーシナリオの漏れを防ぎます。
設定例¶
window.DATAFLUX_RUM &&
window.DATAFLUX_RUM.init({
applicationId: "<APPLICATION_ID>",
site: "<PUBLIC_OPENWAY_URL>",
clientToken: "<CLIENT_TOKEN>",
sessionSampleRate: 0,
sessionOnErrorSampleRate: 100
})
上記の例では公開 OpenWay を使用しています。DataKit 直結の場合は、基本統合の例に従って報告アドレスフィールドを置き換えてください。
データ圧縮¶
大量の静的リソース(JS、CSS、画像など)を収集し、かつ全量収集を有効にしている場合、SDK は初期化後に多くのデータを生成する可能性があり、リクエストが滞留し、アプリケーションスレッドの状態に影響を与える可能性があります。
compressIntakeRequests: true を設定すると、SDK は Web Worker 内で deflate を使用して報告データを圧縮し、リクエストサイズとリクエスト数を削減します。
設定例¶
window.DATAFLUX_RUM &&
window.DATAFLUX_RUM.init({
applicationId: "<APPLICATION_ID>",
site: "<PUBLIC_OPENWAY_URL>",
clientToken: "<CLIENT_TOKEN>",
compressIntakeRequests: true
})
注意事項¶
- データ圧縮ロジックは Web Worker で実行されます。CSP セキュリティポリシーが有効な場合は、
worker-srcでblob:を許可する必要があります。詳細は CSP セキュリティポリシーについて を参照してください。 - SDK は
workerUrl設定項目で自己ホストの Worker アドレスを指定できます。 - この機能を使用するには、SDK バージョン >= 3.2 が必要です。
カスタムデータとイベント¶
基本統合ページでは、すべての共通 API を再度展開しません。ビジネス目標に応じて対応するページに移動すると、CDN、NPM、および完全なパラメータ例が表示されます。
- ユーザー操作の追跡:クリックの自動収集、Action 名の定義、カスタム Action の追加。
- カスタムユーザー識別子:ログイン後にユーザーを設定し、ログアウトやアカウント切り替え時にユーザーをクリアします。
- グローバルコンテキスト:後続のすべての RUM イベントに安定したビジネスディメンションを追加します。
- カスタム Action の追加:ページのクリックでは表現できないビジネス操作を記録します。
- カスタム Error の報告:すでにキャッチされた、またはビジネス側で能動的に識別された例外を報告します。
Web Session Replay¶
前提条件
Session Replay を含む完全な RUM パッケージを使用してください。軽量 RUM パッケージにはセッションリプレイ機能は含まれていません。
録画の開始¶
SDK の初期化後、startSessionReplayRecording() メソッドを呼び出してセッションリプレイの録画を開始します。特定の条件(ユーザーログイン後など)で有効にすることもできます。セッション録画の開始。
エラーに関連するセッションリプレイデータのみを収集¶
バージョン要件
SDK バージョン要件 >= 3.2.19。
ページでエラーが発生すると、SDK は自動的に次の処理を実行します。
- 遡及収集:エラー発生前の 1 分間の完全なページスナップショットを記録します。
- 継続的録画:エラー発生時からセッション終了まで継続的に記録します。
- インテリジェント補償:独立したサンプリングチャネルにより、エラーシナリオの漏れを防ぎます。
設定例¶
window.DATAFLUX_RUM &&
window.DATAFLUX_RUM.init({
applicationId: "<APPLICATION_ID>",
site: "<PUBLIC_OPENWAY_URL>",
clientToken: "<CLIENT_TOKEN>",
sessionSampleRate: 100,
sessionReplaySampleRate: 0,
sessionReplayOnErrorSampleRate: 100
})
window.DATAFLUX_RUM && window.DATAFLUX_RUM.startSessionReplayRecording()
注意事項¶
- セッションリプレイは、iframe、ビデオ、オーディオの再生内容を記録しません。Canvas はデフォルトでは収集されません。
replayCanvasEnabledを個別に設定する必要があります。WebGL/WebGL2 は SDK3.3.7から提供され、RUM メインパッケージのバージョン>= 3.3.7が必要です。また、互換性のあるbrowser-rum-webglプラグインを追加でインストールして登録する必要があります。詳細は Canvas 録画マニュアル を参照してください。 - リプレイ時に静的リソース(フォント、画像など)に正常にアクセスできるようにするために、CORS ポリシーの設定が必要になる場合があります。
- CSS スタイルとマウスホバーイベントをサポートするために、
CSSStyleSheetインターフェースを介して CSS ルールにアクセスできることを確認してください。
録画状態の確認¶
window.DATAFLUX_RUM.isRecording() を呼び出して、現在のページが録画中であることを確認し、セッションリプレイエクスプローラーで対応する Session にリプレイデータが生成されていることを確認します。本番環境では、ビジネス要件に応じて sessionReplaySampleRate を調整してください。