React Native RUMデータモデル
Splunk Real User Monitoring (RUM) を使用して React Native アプリケーションから収集する RUM データを理解します。
React Native RUMエージェントには、React Nativeアプリケーションに関する以下の種類のデータを収集するパッケージが含まれています。
一般的なデータ型
Splunk RUM データモデルは、OpenTelemetry の規約に従って、以下の論理エンティティを表します:
|
トレース |
単一の論理的な操作の結果としてトリガーされる一連のイベントで、アプリケーションのさまざまなコンポーネントに分散されます。トレースには、プロセス、ネットワーク、およびセキュリティの境界を越えたイベントが含まれます。RUM トレースは、たとえば、誰かが Web サイト上でアクションを開始するためにボタンをタップしたときに開始されます。RUM と APM を併用する場合、トレースは、ユーザーアクションによって開始される要求を処理するダウンストリームサービス間で行われたコールを表します。 |
|
スパン |
トランザクション内の操作。単一スパンには、論理的な名前、操作の開始および終了タイムスタンプ、およびキャプチャされたデータにリンクされたイベントと属性が含まれます。スパンは、親スパンと、0 個以上の隣接するスパンへの参照を持っている場合があります。スパンには、ユニバーサル属性とカスタム属性があります。 |
|
セッション |
一定期間にわたってアプリケーションと対話した際に単一のユーザーが実行したアクションに対応するトレースのコレクション。デフォルトでは、セッションは、セッションでキャプチャされた最後のイベントから 15 分が経過するまで持続します。最大セッション時間は 4 時間です。 |
|
インタラクション |
ユーザーがユーザーインターフェイス内で実行するアクションが反映されます。一般的なインタラクションの種類には、マウスのクリック、タッチスクリーンのタップ、キーボードイベントなどがあります。 |
|
ユーザー |
デフォルトでは、Splunk RUM はアイデンティティデータを収集しません。トレースを特定のユーザーにマッピングするには、手動のインストルメンテーションが必要です。ユーザーは、ユーザー名、電子メールアドレス、または合成識別子で表すことができます。合成表現は、PII 規制によりユーザーの識別が許可されていない状況で役立ちます。 |
基本プロパティ
以下のプロパティは、Splunk RUM 用のインストルメンテーションを行うすべてのアプリケーションに共通です:
|
Name |
タイプ |
説明 |
|---|---|---|
|
|
文字列 |
トレース内のスパンに対して生成される一意の64ビット識別子。 |
|
|
文字列 |
親スパン ID。スパンがトレース内のルートスパンである場合は省略。 |
|
|
文字列 |
スパンが表す論理演算。 |
|
|
数字 |
持続時間(マイクロ秒)。 |
|
|
文字列 |
トレースに属するすべてのスパンに設定される一意の128ビット識別子。 |
|
|
数字 |
スパン開始時刻(エポックマイクロ秒)。未完了な場合には、値がありません。 |
|
|
オブジェクト |
特定のタグに基づくスパンの検索と分析を可能にする追加コンテキスト。 |
|
|
Struct |
グローバルトレースオプションを表します。オプションはすべての子スパンに伝搬され、スパンがトレースされるかどうかなどの機能を決定します。 |
|
|
Struct |
トレースシステム固有のコンテキストをキーと値のペアのリストで持ち越します。 |
|
|
Enum |
スパンのタイプ。スパン間の追加関係を設定するために使用します。デフォルト値は サポートされる値は以下の通りです:
|
次の表では、SpanKind の各値について説明します:
|
Name |
説明 |
|---|---|
|
|
デフォルト値。スパンが内部的に使用されることを示します。 |
|
|
このスパンが、RPCやその他のリモートリクエストのサーバーサイドでの処理をカバーしていることを示します。 |
|
|
スパンがRPCや他のリモートリクエストのクライアント側ラッパーをカバーしていることを示します。 |
|
|
スパンが、プロデューサーがブローカーにメッセージを送信することを示します。 |
|
|
スパンが、ブローカーからメッセージを受信するコンシューマーを記述していることを示します。 |
デフォルト属性
デフォルトでは、React Native RUMエージェントは、すべてのスパンに以下の属性を追加します:
|
Name |
タイプ |
説明 |
|---|---|---|
|
|
文字列 |
セッション識別子。Splunk RUM によってランダムに生成されます。個人識別情報を含みません。 |
|
|
文字列 |
現在のセッションに先行するセッションの識別子。 |
|
|
文字列 |
アプリケーションをインストルメンテーションする Splunk RUM SDK のバージョン。 |
リソース属性
デフォルトでは、React Native RUMエージェントは、すべてのスパンに以下のリソース属性を追加します:
|
Name |
タイプ |
説明 |
|---|---|---|
|
|
文字列 |
デバイスのモデル名。 |
|
|
文字列 |
デバイスの識別子または名前。 |
|
|
文字列 |
オペレーティングシステム名使用可能な値は |
|
|
文字列 |
常に |
|
|
文字列 |
オペレーティングシステムのバージョン。 |
|
|
文字列 |
React Navigationインストルメンテーションが有効になっている場合は、画面の名前が含まれます。 |
|
|
文字列 |
React Navigationインストルメンテーションが有効な場合、最後の画面の名前が含まれます。 |
インストルメンテーションの属性
React Native RUMエージェントは、インストルメンテーションを使用して以下のデータを収集します。
エラー
React Native RUMエージェントは、エラーを表すスパンに以下の属性を追加します:
|
Name |
タイプ |
説明 |
|---|---|---|
|
|
ブーリアン |
致命的な例外かどうか。 |
|
|
文字列 |
例外を説明するメッセージ。 |
|
|
文字列 |
エラーオブジェクト。 |
|
|
文字列 |
例外のスタックトレース。 |
XHR/FETCH
XHR/FETCHモニタリングは、HTTP <http-method> という名前と以下の属性を持つスパンを生成します:
|
Name |
タイプ |
説明 |
|---|---|---|
|
|
文字列 |
リクエストの HTTP メソッド。 |
|
|
文字列 |
リクエストが返すステータスコード。 |
|
|
文字列 |
リクエストのURL。 |
|
|
文字列 |
関連するトレース識別子。「RUM と Splunk APM をリンクする」を参照してください。 |
|
|
文字列 |
関連するトレース識別子。「RUM と Splunk APM をリンクする」を参照してください。 |
React Navigation
ナビゲーション・モニタリングは、Created という名前と以下の属性を持つスパンを生成します:
|
Name |
タイプ |
例 |
|---|---|---|
|
|
文字列 |
|
アプリ起動監視
アプリの起動監視機能は、アプリがコールドスタートまたはウォームスタートを行うたびにスパンを生成します。
-
コールドスタートは、ユーザーが携帯電話を起動してから初めてアプリを開いたとき、またはユーザーがアプリを終了した後に発生します。
-
ホットスタートは、システムがアプリをフォアグラウンドに配置するときに発生します。アプリケーションがすでにロードされているため、ホットスタートはコールドスタートよりも高速です。
App start monitoringは、AppStart という名前と以下の属性を持つスパンを生成します:
|
Name |
タイプ |
説明 |
|---|---|---|
|
|
文字列 |
常に |
|
|
文字列 |
開始のタイプです。 |