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 |
タイプ |
説明 |
---|---|---|
|
文字列 |
トレース内のスパンに対して生成される一意の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 をリンクする を参照してください。 |
アプリ起動監視 🔗
アプリの起動監視機能は、アプリがコールドスタートまたはウォームスタートを行うたびにスパンを生成します。
コールドスタートは、ユーザーが携帯電話を起動してから初めてアプリを開いたとき、またはユーザーがアプリを終了した後に発生します。
ホットスタートは、システムがアプリをフォアグラウンドにするときに発生します。アプリがすでにロードされているため、ホットスタートはコールドスタートよりも高速です。
App start monitoringは、AppStart
という名前と以下の属性を持つスパンを生成します:
Name |
タイプ |
説明 |
---|---|---|
|
文字列 |
常に |
|
文字列 |
開始のタイプ。 |