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

React Native RUMデータモデル 🔗

React Native RUMエージェントには、React Nativeアプリケーションに関する以下の種類のデータを収集するパッケージが含まれています。

一般的なデータ型 🔗

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

トレース

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

スパン

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

セッション

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

インタラクション

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

ユーザー

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

基本プロパティ 🔗

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

Name

タイプ

説明

SpanId

文字列

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

ParentSpanId

文字列

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

name

文字列

スパンが表す論理演算。

duration

数字

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

traceId

文字列

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

timestamp

数字

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

tags

オブジェクト

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

TraceFlags

Struct

グローバル トレース オプションを表します。オプションはすべての子スパンに伝搬され、スパンがトレースされるかどうかなどの機能を決定します。

TraceState

Struct

トレースシステム固有のコンテキストをキーと値のペアのリストで持ち越します。

SpanKind

Enum

スパンのタイプ。スパン間の追加関係を設定するために使用します。デフォルト値は Internal です。

サポートされる値は以下の通りです:

  • Internal

  • Server

  • Client

  • Producer

  • consumer

次の表では、SpanKind の各値について説明します:

Name

説明

Internal

デフォルト値。スパンが内部的に使用されることを示します。

Server

このスパンが、RPCやその他のリモートリクエストのサーバーサイドでの処理をカバーしていることを示します。

Client

スパンがRPCや他のリモートリクエストのクライアント側ラッパーをカバーしていることを示します。

Producer

スパンが、プロデューサーがブローカーにメッセージを送信することを示します。

Consumer

スパンが、ブローカーからメッセージを受信するコンシューマーを記述していることを示します。

デフォルト属性 🔗

デフォルトでは、React Native RUMエージェントは、すべてのスパンに以下の属性を追加します:

Name

タイプ

説明

splunk.rumSessionId

文字列

Splunk RUM がランダムに生成するセッション識別子。個人を特定できる情報は含まれていません。

splunk.rum.previous_session_id

文字列

現在のセッションの前のセッションの識別子。splunk.rumSessionId 属性に変更があった場合のみ設定します。

splunk.rumVersion

文字列

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

リソース属性 🔗

デフォルトでは、React Native RUMエージェントは、すべてのスパンに以下のリソース属性を追加します:

Name

タイプ

説明

device.model.name

文字列

デバイスのモデル名。

device.model.identifier

文字列

デバイスの識別子または名前。

os.name

文字列

オペレーティングシステムの名前。指定可能な値は iOS および Android です。

os.type

文字列

常に linux に設定されています。Androidでのみ利用可能です。

os.version

文字列

オペレーティングシステムのバージョン。

screen.name

文字列

React Navigationインストルメンテーションが有効になっている場合は、画面の名前が含まれます。

last.screen.name

文字列

React Navigationインストルメンテーションが有効な場合、最後の画面の名前が含まれます。

インストルメンテーションの属性 🔗

React Native RUMエージェントは、インストルメンテーションを使用して以下のデータを収集します。

エラー 🔗

React Native RUMエージェントは、エラーを表すスパンに以下の属性を追加します:

Name

タイプ

説明

error.isFatal

ブーリアン

致命的な例外かどうか。

error.message

文字列

例外を説明するメッセージ。

error.object

文字列

エラーオブジェクト。

error.stack

文字列

例外のスタックトレース。

XHR/FETCH 🔗

XHR/FETCHモニタリングは、HTTP <http-method> という名前と以下の属性を持つスパンを生成します:

Name

タイプ

説明

http.method

文字列

リクエストの HTTP メソッド。

http.status_code

文字列

リクエストが返すステータスコード。

http.url

文字列

リクエストのURL。

link.traceId

文字列

関連するトレース識別子。RUM と Splunk APM をリンクする を参照してください。

link.spanId

文字列

関連するトレース識別子。RUM と Splunk APM をリンクする を参照してください。

React Navigation 🔗

ナビゲーション・モニタリングは、Created という名前と以下の属性を持つスパンを生成します:

Name

タイプ

component

文字列

ui

アプリ起動監視 🔗

アプリの起動監視機能は、アプリがコールドスタートまたはウォームスタートを行うたびにスパンを生成します。

  • コールドスタートは、ユーザーが携帯電話を起動してから初めてアプリを開いたとき、またはユーザーがアプリを終了した後に発生します。

  • ホットスタートは、システムがアプリをフォアグラウンドにするときに発生します。アプリがすでにロードされているため、ホットスタートはコールドスタートよりも高速です。

App start monitoringは、AppStart という名前と以下の属性を持つスパンを生成します:

Name

タイプ

説明

component

文字列

常に appstart です。

start.type

文字列

開始のタイプ。cold または hot のいずれかです。

This page was last updated on 2023年05月29日.