RUMブラウザのデータモデル
Splunk Observability Cloud Real User Monitoring (RUM) を使用して、ブラウザベースの Web アプリケーションから収集するデータを理解します。
ブラウザ RUM エージェントは、フロントエンドのウェブアプリケーションに関する一般的な RUM テレメトリデータと、いくつかのインストルメンテーションからのデータを収集します。
一般的なデータ型
Splunk RUM データモデルは、OpenTelemetry の規約に従って、以下の論理エンティティを表します:
|
トレース |
単一の論理的な操作の結果としてトリガーされる一連のイベントで、アプリケーションのさまざまなコンポーネントに分散されます。トレースには、プロセス、ネットワーク、およびセキュリティの境界を越えたイベントが含まれます。RUM トレースは、たとえば、誰かが Web サイト上でアクションを開始するためにボタンをタップしたときに開始されます。RUM と APM を併用する場合、トレースは、ユーザーアクションによって開始される要求を処理するダウンストリームサービス間で行われたコールを表します。 |
|
スパン |
トランザクション内の操作。単一スパンには、論理的な名前、操作の開始および終了タイムスタンプ、およびキャプチャされたデータにリンクされたイベントと属性が含まれます。スパンは、親スパンと、0 個以上の隣接するスパンへの参照を持っている場合があります。スパンには、ユニバーサル属性とカスタム属性があります。 |
|
セッション |
一定期間にわたってアプリケーションと対話した際に単一のユーザーが実行したアクションに対応するトレースのコレクション。デフォルトでは、セッションは、セッションでキャプチャされた最後のイベントから 15 分が経過するまで持続します。最大セッション時間は 4 時間です。 |
|
インタラクション |
ユーザーがユーザーインターフェイス内で実行するアクションが反映されます。一般的なインタラクションの種類には、マウスのクリック、タッチスクリーンのタップ、キーボードイベントなどがあります。 |
|
ユーザー |
デフォルトでは、Splunk RUM はアイデンティティデータを収集しません。トレースを特定のユーザーにマッピングするには、手動のインストルメンテーションが必要です。ユーザーは、ユーザー名、電子メールアドレス、または合成識別子で表すことができます。合成表現は、PII 規制によりユーザーの識別が許可されていない状況で役立ちます。 |
基本プロパティ
以下のプロパティは、Splunk RUM でインストルメンテーションされるすべての Web アプリケーションに共通です:
|
Name |
タイプ |
説明 |
|---|---|---|
|
|
文字列 |
トレース内のスパンに対して生成される一意の64ビット識別子。 |
|
|
文字列 |
親スパン ID。スパンがトレース内のルートスパンである場合は省略。 |
|
|
文字列 |
スパンが表す論理演算。たとえば、 |
|
|
数字 |
持続時間(マイクロ秒)。 |
|
|
文字列 |
トレースに属するすべてのスパンに設定される一意の128ビット識別子。 |
|
|
数字 |
スパン開始時刻(エポックマイクロ秒)。未完了な場合には、値がありません。 |
|
|
オブジェクト |
特定のタグに基づくスパンの検索と分析を可能にする追加コンテキスト。 |
|
|
配列 |
待ち時間を説明するイベントと、それが起こった時間を関連付けます。 |
メトリクス
以下の表は、Splunk RUM for Browser で利用可能なすべてのメトリクス一覧です。Splunk RUM のすべてのエラーには sf_error=true というディメンションがあります。接頭辞 rum.node. を持つメトリクスはページレベルメトリクスであり、接頭辞 rum. を持つメトリクスは複数ページの集約です。ページレベルのメトリクスにはディメンション sf_node_name もあり、特定のページでのフィルタリングに使用できます。また、ページレベルのメトリクスがキャプチャされるのは、カスタム URL グループ化ルールが設定されている場合にのみです。
|
アプリレベルのメトリクス名 |
UI名 |
ページレベルのメトリクス |
説明 |
|---|---|---|---|
|
|
カスタムイベント・カウント |
|
指定された時間範囲内で選択されたカスタムイベントを持つスパンの総数。 |
|
|
カスタムイベント期間 |
|
指定された時間範囲内で、選択されたカスタムイベントを持つスパンのp75時間(ナノ秒単位)。 |
|
|
ページビューとルート変更 |
|
指定された時間範囲をページ別に並べ替えたページビューとルート変更の総数。 |
|
|
ページビューとルート変更時間 |
|
ドキュメントロードの p75 時間(ナノ秒単位)、または指定された時間範囲のルート変更時間。Splunk RUM のルート変更は、期間がゼロ秒のイベントです。詳細については、「ドキュメントのロード」を参照してください。 |
|
|
JavaScriptエラー |
|
指定した時間範囲内でJavaScriptエラーが発生したスパンの総数。 |
|
|
最大コンテンツの描画(LCP)時間 |
|
指定された時間範囲におけるLCPのp75時間(ナノ秒単位)。 |
|
|
INP(インタラクションから次の描画まで) |
|
指定された時間範囲におけるINPのp75時間(ナノ秒単位)。 |
|
|
累積レイアウトシフト(CLS) |
|
与えられた時間範囲におけるCLSのp75時間(ナノ秒単位)。 |
|
|
長いタスク数 |
|
指定された時間範囲内の長いタスクの総数。 |
|
|
長いタスクの期間 |
|
ナノ秒単位の長いタスクの期間のp75時間。 |
|
|
ネットワークリクエスト(HTTPS、XHR、AJAX) |
|
https、XHR、AJAX、retrieveイベントなど、指定した時間範囲内のネットワークリクエストの総数。 |
|
|
バックエンドとリソースリクエスト期間 |
|
指定された時間範囲におけるAJAXとバックエンドのレイテンシのナノ秒単位のp75時間。 |
|
|
最初のバイトまでの時間(TTFB) |
|
指定された時間範囲におけるTTFBのp75時間(ナノ秒)。 |
デフォルトのタグ
デフォルトでは、ブラウザ RUMエージェントは、すべてのスパンに以下のタグを追加します:
|
Name |
タイプ |
説明 |
|---|---|---|
|
|
文字列 |
コンフィギュレーションで設定されたアプリケーション名。 |
|
|
文字列 |
スパンを生成したインストルメンテーション名。たとえば、 |
|
|
文字列 |
スパン作成時のロケーションURL。 |
|
|
文字列 |
|
|
|
文字列 |
アプリケーションをインストルメンテーションする Splunk RUM SDK のバージョン。 |
|
|
文字列 |
|
|
|
文字列 |
設定されている場合、値は |
|
|
文字列 |
常に |
|
|
文字列 |
常に |
タイミング注釈のリクエスト
ブラウザ RUMエージェントによって生成されたすべてのスパンは、PerformanceNavigationTiming インターフェイスのためのW3C仕様によって指定されたように、パフォーマンス タイミングで注釈されています:
|
Name |
タイムスタンプ |
|---|---|
|
|
ブラウザがリソースの取得を開始する直前。 |
|
|
ブラウザがリソースのドメイン名検索を開始する直前。 |
|
|
ブラウザがリソースのドメイン名検索を終了した直後。 |
|
|
ブラウザがリソースを取得するためにサーバーとの接続を確立し始める直前。 |
|
|
ブラウザが現在の接続を保護するためにハンドシェイクプロセスを開始する直前。 |
|
|
ブラウザがリソースを取得するためにサーバーとの接続を確立し終わった直後。 |
|
|
ブラウザがサーバーにリソースのリクエストを開始する直前。 |
|
|
ブラウザがサーバーからレスポンスの最初のバイトを受信した直後。 |
|
|
ブラウザがリソースの最後のバイトを受信した直後、またはトランスポート接続が閉じられる直前。 |
データ転送の制限
ブラウザ RUMエージェントには、以下の制限が組み込まれています:
-
データ・バッチの転送頻度は5秒です。
-
エージェントは 1 コンポーネントあたり 30 秒間に 100 スパンを送信できます。制限を超えて生成されたスパンはドロップされます。
-
タグ値の長さは最大 4,096 文字です。それより長い値は切り捨てられます。
-
スパン数で決まるバッチサイズは20スパンです。
地理的データの収集と保持
ブラウザエージェントは、すべてのビーコン接続のIPアドレスをSplunk Observability Cloudに送信し、Splunk Observability Cloudはそれらを使用して、国や都市などのユーザーの地理的位置をマッピングします。
splunk-rum による RUM ブラウザモデルへの追加
splunk-rum CLI または Webpack ビルドプラグインを使用してソースマップをアップロードしている場合、error.sourceMapIds という名前の新しい属性が RUM ブラウザデータモデルに追加されます。この属性には、以下のようなファイルのURLと sourceMapId のペアのマッピングが含まれています。
sourceMapId属性をソースマップに事前に挿入しておく必要があります(splunk-rumCLI または Webpack ビルドプラグインを使用)。「JavaScript ソースマッピングの設定」を参照してください。エラーの
error.stackに記載されているファイルのみがerror.sourceMapIdsに表示されます。
この属性が RUM ブラウザデータモデルに追加されるのは、splunk-rum CLI または Webpack ビルドプラグインを使用している場合のみです。
インストルメンテーション固有のデータ
ブラウザ RUM のインストルメンテーションとそれらが収集するデータの詳細については、「ブラウザ RUM のインストルメンテーション固有のデータ」を参照してください。