Docs » Splunk Observability Cloud でサポートされているインテグレーション » モバイルおよび Web アプリケーションを Splunk RUM でインストルメンテーションする » Splunk RUM でブラウザベースの Web アプリケーションをインストルメンテーションする » RUMブラウザのデータモデル

RUMブラウザのデータモデル 🔗

ブラウザ RUM エージェントは、フロントエンドのウェブアプリケーションに関する一般的な RUM テレメトリデータと、いくつかのインストルメンテーションからのデータを収集します。

一般的なデータ型 🔗

Splunk RUM データモデルは、OpenTelemetry の規約に従って、以下の論理エンティティを表します:

トレース

アプリケーションの様々なコンポーネントに分散された、1つの論理操作の結果としてトリガーされるイベントのセット。トレースには、プロセス、ネットワーク、セキュリティの境界を越えるイベントが含まれます。RUM のトレースは、例えば、誰かがウェブサイト上でアクションを開始するためにボタンをタップしたときに開始することができます。RUMとAPMを併用する場合、トレースは、ユーザーアクションによって開始されたリクエストを処理するダウンストリームサービス間のコールを表します。

スパン

トランザクション内の操作。1つのスパンには、論理名、操作の開始と終了のタイムスタンプ、取り込まれたデータにリンクされたイベントと属性が含まれます。スパンは、その親スパンへの参照と、0個以上の因果関係のあるスパンを持つことがあります。スパンには、ユニバーサル属性とカスタム属性があります。

セッション

1人のユーザーがある期間にわたってアプリケーションとやりとりした際にとったアクションに対応するトレースのコレクション。デフォルトでは、1つのセッションは、そのセッション内でキャプチャされた最後のイベントから15分経過するまで続きます。セッションの最大継続時間は4時間です。

インタラクション

ユーザーがユーザーインターフェイス内で行ったアクションを反映します。一般的なインタラクションの種類には、マウスのクリック、タッチスクリーンのタップ、キーボードイベントなどがあります。

ユーザー

デフォルトでは、Splunk RUM は ID データを収集しません。トレースを特定のユーザーにマッピングするには、手作業によるインストルメンテーションが必要です。ユーザーは、ユーザー名、メールアドレス、または合成識別子で表すことができます。合成識別子は、PII の規制によりユーザーを特定できない場合に便利です。

基本プロパティ 🔗

以下のプロパティは、Splunk RUM でインストルメンテーションされるすべての Web アプリケーションに共通です:

Name

タイプ

説明

id

文字列

トレース内のスパンに対して生成される一意の64ビット識別子。

parentId

文字列

親スパンID。スパンがトレース内のルート・スパンである場合は存在しません。

name

文字列

スパンが表す論理演算。例えば、/pay または /customers/{1}/details

duration

数字

持続時間(マイクロ秒)。

traceId

文字列

トレースに属するすべてのスパンに設定される一意の128ビット識別子。

timestamp

数字

スパン開始のマイクロ秒単位。未完成の場合は、なくてもかまいません。

tags

オブジェクト

特定のタグに基づくスパンの検索と分析を可能にする追加コンテキスト。

annotations

配列

待ち時間を説明するイベントと、それが起こった時間を関連付けます。

メトリクス 🔗

以下の表は、Splunk RUM for Browser で利用可能なすべてのメトリクスの一覧です。Splunk RUMのすべてのエラーはディメンション sf_error=true を持ちます。接頭辞 rum.node. のメトリクスはページ レベルのメトリクスで、接頭辞 rum. のメトリクスは複数のページの集約です。ページ レベルのメトリクスにもディメンション sf_node_name があり、これを使用して特定のページでフィルターリングできます。また、カスタム URL グループ化ルールが設定されている場合にのみ、ページレベルのメトリクスがキャプチャされます。

アプリレベルのメトリクス名

UI名

ページレベルのメトリクス

説明

rum.workflow.count

カスタムイベント・カウント

rum.node.workflow.count

指定された時間範囲内で選択されたカスタムイベントを持つスパンの総数。

rum.workflow.time.ns.p75

カスタムイベント期間

rum.node.workflow.time.ns.p75

指定された時間範囲内で、選択されたカスタムイベントを持つスパンのp75時間(ナノ秒単位)。

rum.page_view.count

ページビューとルート変更

rum.node.page_view.count

指定された時間範囲をページ別に並べ替えたページビューとルート変更の総数。

rum.page_view.time.ns.p75

ページビューとルート変更時間

rum.node.rum.page_view.time.ns.p75

ドキュメントロードの p75 時間 (ナノ秒単位)、または指定された時間範囲のルート変更時間。Splunk RUM におけるルート変更は、継続時間が 0 秒のイベントです。詳しくは ドキュメントのロード を参照してください。

rum.client_error.count

JavaScriptエラー

rum.node.client_error.count

指定した時間範囲内でJavaScriptエラーが発生したスパンの総数。

rum.webvitals_lcp.time.ns.p75

最大コンテンツの描画(LCP)時間

rum.node.webvitals_lcp.time.ns.p75

指定された時間範囲におけるLCPのp75時間(ナノ秒単位)。

rum.webvitals_fid.time.ns.p75

第1入力遅延時間(FID)

rum.node.rum.webvitals_fid.time.ns.p75

指定された時間範囲におけるFIDのp75時間(ナノ秒)。

rum.webvitals_cls.score.p75

累積レイアウトシフト(CLS)

rum.node.rum.webvitals_cls.score.p75

与えられた時間範囲におけるCLSのp75時間(ナノ秒単位)。

rum.long_task.count

長いタスク数

rum.node.long_task.count

指定された時間範囲内の長いタスクの総数。

rum.long_task.time.ns.p75

長いタスクの期間

rum.node.long_task.time.ns.p75

ナノ秒単位の長いタスクの期間のp75時間。

rum.resource_request.count

ネットワークリクエスト(HTTPS、XHR、AJAX)

rum.node.resource_request.count

https、XHR、AJAX、retrieveイベントなど、指定した時間範囲内のネットワークリクエストの総数。

rum.resource_request.time.ns.p75

バックエンドとリソースリクエスト期間

rum.node.resource_request.time.ns.p75

指定された時間範囲におけるAJAXとバックエンドのレイテンシのナノ秒単位のp75時間。

rum.resource_request.ttfb.time.ns.p75

最初のバイトまでの時間(TTFB)

rum.node.resource_request.time.ns.p75

指定された時間範囲におけるTTFBのp75時間(ナノ秒)。

デフォルトのタグ 🔗

デフォルトでは、ブラウザ RUMエージェントは、すべてのスパンに以下のタグを追加します:

Name

タイプ

説明

app

文字列

コンフィギュレーションで設定されたアプリケーション名。

component

文字列

スパンを生成したインストルメンテーション名。例えば、document-load

location.href

文字列

スパン作成時のロケーションURL。

splunk.rumSessionId

文字列

_splunk_rum_sid Cookieから収集されるセッションID。ブラウザRUMエージェントが使用するクッキー を参照してください。

splunk.rumVersion

文字列

アプリケーションをインストルメンテーションする Splunk RUM SDK のバージョン。

splunk.scriptInstance

文字列

splunk-otel-web.js インスタンスの64ビットID。このIDはページがリロードされるたびに更新されます。これは、同じブラウザウィンドウ内で同じセッションを共有している異なるタブを区別する場合などに便利です。

otel.status_code

文字列

設定されている場合、値は OK または ERROR のいずれかとなります。

telemetry.sdk.language

文字列

常に webjs です。

telemetry.sdk.name

文字列

常に @splunk/otel-web です。

タイミング注釈のリクエスト 🔗

ブラウザ RUMエージェントによって生成されたすべてのスパンは、PerformanceNavigationTiming インターフェイスのためのW3C仕様によって指定されたように、パフォーマンス タイミングで注釈されています:

Name

タイムスタンプ

fetchStart

ブラウザがリソースの取得を開始する直前。

domainLookupStart

ブラウザがリソースのドメイン名検索を開始する直前。

domainLookupEnd

ブラウザがリソースのドメイン名検索を終了した直後。

connectStart

ブラウザがリソースを取得するためにサーバーとの接続を確立し始める直前。

secureConnectionStart

ブラウザが現在の接続を保護するためにハンドシェイクプロセスを開始する直前。

connectEnd

ブラウザがリソースを取得するためにサーバーとの接続を確立し終わった直後。

requestStart

ブラウザがサーバーにリソースのリクエストを開始する直前。

responseStart

ブラウザがサーバーからレスポンスの最初のバイトを受信した直後。

responseEnd

ブラウザがリソースの最後のバイトを受信した直後、またはトランスポート接続が閉じられる直前。

データ転送の制限 🔗

ブラウザ RUMエージェントには、以下の制限が組み込まれています:

  • データ・バッチの転送頻度は5秒です。

  • エージェントは1コンポーネントあたり30秒間に100スパンを送信できます。制限を超えて生成されたスパンはドロップされます。

  • タグ値の長さは最大4096文字です。エージェントは長い値を切り捨てます。

  • スパン数で決まるバッチサイズは20スパンです。

地理的データの収集と保持 🔗

ブラウザエージェントは、すべてのビーコン接続のIPアドレスをSplunk Observability Cloudに送信し、Splunk Observability Cloudはそれらを使用して、国や都市などのユーザーの地理的位置をマッピングします。

注釈

Splunk Observability Cloud は IP から地理的なメタデータのみを計算し、6 時間以内に IP アドレスを削除します。

インストルメンテーション固有のデータ 🔗

ブラウザRUMのインストルメンテーションとそれらが収集するデータの詳細については、ブラウザRUMのインストルメンテーション固有のデータ を参照してください。

This page was last updated on 2024年02月27日.