概要
RUM iOS SDK は、メトリクスと属性が関連付けられたイベントを生成します。メトリクスとは、イベント関連の計測に使用される定量化可能な値のことです。属性は、分析でメトリクスデータをスライス(グループ化)するために使用する定量化できない値です。
RUM SDK は、メトリクスと属性が関連付けられたイベントを生成します。すべての RUM イベントには、すべてのデフォルト属性があります。例: デバイスタイプ (device.type
)、名前 (usr.name
) や 国 (geo.country
) などのユーザー情報。
追加の特定のイベントタイプに固有のメトリクスと属性があります。たとえば、メトリクス view.time_spent
は “view” イベントに関連付けられ、属性 resource.method
は “resource” イベントに関連付けられます。
イベントタイプ | 保持 | 説明 |
---|
セッション | 30 日 | セッションは、モバイルアプリケーションでの実際のユーザージャーニーを表します。セッションはユーザーがアプリケーションを起動したときに開始され、ユーザーがアクティブである限りライブのままになります。ユーザージャーニー中、セッションの一部として生成されたすべての RUM イベントは、同じ session.id 属性を共有します。注: セッションは、15 分間操作されないとリセットされます。アプリケーションが OS によって強制終了された場合、アプリケーションがバックグラウンドにある間にセッションをリセットすることができます。 |
ビュー | 30 日 | ビューとは、モバイルアプリケーションの一意の画面(または画面の一部)のことです。UIViewController クラスの viewDidAppear(animated:) と viewDidDisappear(animated:) コールバックが通知されると、ビューが起動・停止します。個々の UIViewControllers は異なるビューとして分類されます。ユーザーがビューを維持している間、RUM イベント属性(エラー、リソース、アクション)が一意の view.id と共にビューにアタッチされます。 |
Resource | 15 日 | リソースとは、モバイルアプリケーションのファーストパーティホスト、API、サードパーティプロバイダーへのネットワークリクエストのことです。ユーザーセッション中に生成されるすべてのリクエストは、一意の resource.id と共にビューにアタッチされます。 |
Error | 30 日 | エラーとは、モバイルアプリケーションにより送信される例外またはクラッシュで、それが生成されたビューにアタッチされます。 |
アクション | 30 日 | アクションとは、モバイルアプリケーションでのユーザーアクティビティ(例えば、アプリケーションの起動、タップ、スワイプ、または戻る)のことです。各アクションは、一意の action.id と共に、それが生成されたビューにアタッチされます。 |
ロングタスク | 15 日 | ロングタスクイベントは、指定された閾値以上の期間メインスレッドをブロックするアプリケーション内のすべてのタスクに対して生成されます。 |
次の図は、RUM イベント階層を示しています。
アプリケーションの起動
初期化中に、RUM iOS SDK は “ApplicationLaunch” と呼ばれるビューを作成します。このビューの開始時刻は iOS のプロセスの開始時刻と一致しており、アプリケーションの起動時刻を追跡するために使用することができます。
ApplicationLaunch ビューには、最初に startView
を呼び出す前に作成されたすべてのログ、アクション、リソースが含まれます。このビューの継続時間を使用して、最初に表示するまでの時間を決定します。このビューには application_start
というアクションがあり、継続時間はプロセス開始から applicationDidBecomeActive
を呼び出すまでの時間に等しくなります。
iOS がアプリケーションのプリウォームを決定した場合、代わりに ApplicationLaunch ビューが RUM iOS SDK の初期化時に開始され、application_start
イベントには継続時間がありません。
デフォルト属性
RUM は、すべてのイベントに共通の属性および以下に挙げたイベントに特定の属性をデフォルトで収集します。また、追加のイベントでユーザーセッションデータを強化し、アプリケーションの監視やビジネス分析のニーズに合わせてイベントをデフォルトに設定することも可能です。
共通のコア属性
属性名 | タイプ | 説明 |
---|
date | 整数 | Epoch からのイベント開始時間 (ミリ秒) |
type | 文字列 | イベントのタイプ (view や resource など)。 |
service | 文字列 | ユーザーセッションを関連付けるために使用した、このアプリケーションの統合サービス名。 |
application.id | 文字列 | Datadog アプリケーション ID。 |
application.name | 文字列 | Datadog アプリケーション名。 |
デバイス
以下のデバイス関連属性は、Datadog により収集されるすべてのイベントに自動的にアタッチされます。
属性名 | タイプ | 説明 |
---|
device.type | 文字列 | デバイスにより報告されたデバイスタイプ (System User-Agent)。 |
device.brand | 文字列 | デバイスにより報告されたデバイスのブランド (System User-Agent)。 |
device.model | 文字列 | デバイスにより報告されたデバイスモデル (System User-Agent)。 |
device.name | 文字列 | デバイスにより報告されたデバイス名 (System User-Agent)。 |
接続性
以下のネットワーク関連属性は、Datadog が収集したリソースイベントとエラーイベントに自動的にアタッチされます。
属性名 | タイプ | 説明 |
---|
connectivity.status | 文字列 | デバイスのネットワーク到達可能性の状態 (connected 、not connected 、maybe )。 |
connectivity.interfaces | 文字列 | 利用可能なネットワークインターフェースのリスト (bluetooth 、cellular 、ethernet 、または wifi など)。 |
connectivity.cellular.technology | 文字列 | 携帯電話の接続に使用される無線技術のタイプ。 |
connectivity.cellular.carrier_name | 文字列 | SIMを取り扱う事業者名。 |
オペレーティングシステム
以下の OS 関連属性は、Datadog により収集されるすべてのイベントに自動的にアタッチされます。
属性名 | タイプ | 説明 |
---|
os.name | 文字列 | デバイスにより報告された OS 名 (System User-Agent)。 |
os.version | 文字列 | デバイスにより報告される OS バージョン (System User-Agent)。 |
os.version_major | 文字列 | デバイスにより報告される OS バージョンメジャー (System User-Agent)。 |
地理的位置
以下の属性は、IP アドレスの地理的位置に関連しています。
注: 地理的位置の属性収集を停止したい場合は、アプリケーションの詳細で設定を変更してください。
属性名 | タイプ | 説明 |
---|
geo.country | 文字列 | 国の名前。 |
geo.country_iso_code | 文字列 | 国の ISO コード (米国は US 、フランスは FR など)。 |
geo.country_subdivision | 文字列 | その国で最大規模の地方区分 (米国は California 州、フランスは Sarthe 県など)。 |
geo.continent_code | 文字列 | 大陸の ISO コード (EU 、AS 、NA 、AF 、AN 、SA 、OC )。 |
geo.continent | 文字列 | 大陸名 (Europe 、Australia 、North America 、Africa 、Antarctica 、South America 、Oceania )。 |
geo.city | 文字列 | 都市名 (San Francisco 、Paris 、New York など)。 |
グローバルユーザー属性
ユーザー情報の追跡をグローバルに有効にして、ユーザー属性を収集しすべての RUM イベントに適用できます。
属性名 | タイプ | 説明 |
---|
usr.id | 文字列 | ユーザーの識別子。 |
usr.name | 文字列 | ユーザーの名前。 |
usr.email | 文字列 | ユーザーのメールアドレス。 |
イベント固有のメトリクスと属性
セッションメトリクス
メトリクス | タイプ | 説明 |
---|
session.time_spent | 数値(ns) | セッションに費やされた時間。 |
session.view.count | 数値 | このセッションで収集されたすべてのビューの数。 |
session.error.count | 数値 | このセッションで収集されたすべてのエラーの数。 |
session.resource.count | 数値 | このセッションで収集されたすべてのリソースの数。 |
session.action.count | 数値 | このセッションで収集されたすべてのアクションの数。 |
session.long_task.count | 数値 | このセッションで収集されたすべてのロングタスクの数。 |
セッション属性
属性名 | タイプ | 説明 |
---|
session.id | 文字列 | セッションのユニーク ID。 |
session.type | 文字列 | セッションのタイプ (user )。 |
session.is_active | ブール値 | セッションが現在アクティブであるかどうかを示します。セッションは、ユーザーがアプリケーションから移動したり、ブラウザウィンドウを閉じたりすると終了し、4 時間の活動または 15 分の非活動時間が経過すると失効します。 |
session.initial_view.url | 文字列 | セッションの初期ビューの URL。 |
session.initial_view.name | 文字列 | セッションの初期ビューの名前。 |
session.last_view.url | 文字列 | セッションの最後のビューの URL。 |
session.last_view.name | 文字列 | セッションの最後のビューの名前。 |
session.ip | 文字列 | インテークの TCP 接続から抽出されたセッションの IP アドレス。この属性の収集を停止したい場合は、アプリケーションの詳細で設定を変更してください。 |
session.useragent | 文字列 | デバイスの情報を解釈するためのシステムユーザーエージェントの情報。 |
ビューのメトリクス
RUM アクション、エラー、リソース、ロングタスクのイベントには、収集時のアクティブな RUM ビューイベントに関する情報が含まれています。
メトリクス | タイプ | 説明 |
---|
view.time_spent | 数値(ns) | このビューに費やされた時間。 |
view.long_task.count | 数値 | このビューについて収集されたすべてのロングタスクの数。 |
view.error.count | 数値 | このビューについて収集されたすべてのエラーの数。 |
view.resource.count | 数値 | このビューについて収集されたすべてのリソースの数。 |
view.action.count | 数値 | このビューについて収集されたすべてのアクションの数。 |
view.is_active | ブール値 | このイベントに対応するビューがアクティブであるとみなされるかどうかを示します。 |
ビュー属性
属性名 | タイプ | 説明 |
---|
view.id | 文字列 | イベントに対応する初期ビューのユニーク ID。 |
view.url | 文字列 | イベントに対応する UIViewController クラスの URL。 |
view.name | 文字列 | イベントに対応する、カスタマイズ可能なビューの名前。 |
リソースのメトリクス
メトリクス | タイプ | 説明 |
---|
resource.duration | 数値 | リソースのロードにかかった全時間。 |
resource.size | 数値(バイト) | リソースのサイズ。 |
resource.connect.duration | 数値(ns) | サーバーへの接続が確立されるまでにかかった時間 (connectEnd - connectStart)。 |
resource.ssl.duration | 数値(ns) | TLS ハンドシェイクに費やされた時間。 |
resource.dns.duration | 数値(ns) | 最後のリクエストの DNS 名が解決されるまでにかかった時間 (domainLookupEnd - domainLookupStart)。 |
resource.redirect.duration | 数値(ns) | 後続の HTTP リクエストにかかった時間 (redirectEnd - redirectStart)。 |
resource.first_byte.duration | 数値(ns) | 応答の最初のバイトを受信するまでにかかった時間 (responseStart -requestStart)。 |
resource.download.duration | 数値(ns) | 応答のダウンロードにかかった時間 (responseEnd - responseStart)。 |
リソースの属性
属性 | タイプ | 説明 |
---|
resource.id | 文字列 | リソースの一意の識別子。 |
resource.type | 文字列 | 収集されるリソースのタイプ (xhr 、image 、font 、css 、または js など)。 |
resource.method | 文字列 | HTTP メソッド (POST 、GET PATCH 、または DELETE など)。 |
resource.status_code | 数値 | 応答ステータスコード。 |
resource.url | 文字列 | リソースの URL。 |
resource.provider.name | 文字列 | リソースプロバイダー名。デフォルトは unknown となります。 |
resource.provider.domain | 文字列 | リソースプロバイダーのドメイン。 |
resource.provider.type | 文字列 | リソースプロバイダーのタイプ (first-party 、cdn 、ad 、または analytics など)。 |
エラー属性
フロントエンドのエラーはリアルタイムモニタリング (RUM) で収集されます。エラーメッセージとスタックトレースが利用できる場合は含まれます。
属性 | タイプ | 説明 |
---|
error.source | 文字列 | エラーの発生元 (webview 、logger 、network など)。 |
error.type | 文字列 | エラーのタイプ (場合によってはエラーコード)。 |
error.message | 文字列 | イベントについて簡潔にわかりやすく説明する 1 行メッセージ。 |
error.stack | 文字列 | スタックトレースまたはエラーに関する補足情報。 |
error.issue_id | 文字列 | スタックトレースまたはエラーに関する補足情報。 |
ネットワークエラー
ネットワークエラーには失敗した HTTP リクエストに関する情報が含まれます。次のファセットも収集されます。
属性 | タイプ | 説明 |
---|
error.resource.status_code | 数値 | 応答ステータスコード。 |
error.resource.method | 文字列 | HTTP メソッド (POST または GET など)。 |
error.resource.url | 文字列 | リソースの URL。 |
error.resource.provider.name | 文字列 | リソースプロバイダー名。デフォルトは unknown となります。 |
error.resource.provider.domain | 文字列 | リソースプロバイダーのドメイン。 |
error.resource.provider.type | 文字列 | リソースプロバイダーのタイプ (first-party 、cdn 、ad 、または analytics など)。 |
アクションメトリクス
メトリクス | タイプ | 説明 |
---|
action.loading_time | 数値(ns) | アクションのロード時間。 |
action.long_task.count | 数値 | このアクションについて収集されたすべてのロングタスクの数。 |
action.resource.count | 数値 | このアクションにより発生したすべてのリソースの数。 |
action.error.count | 数値 | このアクションにより発生したすべてのエラーの数。 |
アクションの属性
属性 | タイプ | 説明 |
---|
action.id | 文字列 | ユーザーアクションの UUID。 |
action.type | 文字列 | ユーザーアクションのタイプ (tap または application_start など)。 |
action.name | 文字列 | ユーザーアクションの名前。 |
action.target.name | 文字列 | ユーザーが操作したエレメント。自動収集されたアクションのみ対象。 |
データストレージ
データは Datadog にアップロードされる前に、アプリケーションサンドボックスのキャッシュディレクトリ (Library/Caches
) に平文で保存され、デバイスにインストールされた他のアプリからは読み取ることができません。
その他の参考資料