iOS/tvOS/macOS アプリケーションデータ収集
アプリケーションデータを Guance に収集すると、Guance コンソールでカスタムシナリオの設定や異常検出イベントの設定を行えます。
データタイプ
Guance のリアルユーザーモニタリング(RUM)には、次の 6 種類のデータタイプがあります。
iOS SDK から直接報告される RUM データタイプは view、resource、error、long_task、action です。session はセッション次元のデータであり、SDK から報告された RUM データに基づいて集約生成されます。
| タイプ |
説明 |
| session |
ユーザーセッション情報の記録。現在のセッションでは、セッション次元のユーザーページ、リソース、操作、エラー、ロングタスクに関連するアクセスデータが記録されます。 |
| view |
ユーザーがモバイルアプリケーションのページにアクセスするたびに、ビューレコードが生成されます。ユーザーが同じページに滞在している間、リソース、ロングタスク、エラー、操作レコードは view_id 属性を介して関連する RUM ビューにリンクされます。 |
| resource |
ユーザーがページにアクセスしたときにロードされたリソース情報の記録。 |
| error |
モバイルアプリケーションから送出された例外またはクラッシュ。 |
| long_task |
メインスレッドを指定された持続時間のしきい値を超えてブロックするアプリケーション内のタスクに対して、ロングタスクイベントが生成されます。 |
| action |
モバイルアプリケーション内のユーザーアクティビティ(アプリケーション起動、クリック、スワイプ、戻るなど)の記録。各アクションには一意の action_id が付加されます。 |
グローバル属性
ユーザーアクセスモニタリングのシナリオ構築やイベントアラートは、以下のグローバル属性を使用してクエリできます。
SDK 属性
| フィールド |
タイプ |
説明 |
sdk_name |
string |
コレクター名、固定名:
df_macos_rum_sdk
df_ios_rum_sdk
df_tvos_rum_sdk
df_android_rum_sdk |
sdk_version |
string |
コレクターのバージョン情報 |
sdk_pkg_info |
object |
SDK パッケージ情報 |
アプリケーション属性
| フィールド |
タイプ |
説明 |
app_id |
string |
必須。ユーザーアクセスアプリケーションの一意の ID 識別子。Guance コンソールでモニターを作成するときに自動生成されます。 |
application_uuid |
string |
アプリケーション UUID。iOS SDK がメインの Mach-O UUID から取得します。 |
env |
string |
必須。環境フィールド。属性値:prod/gray/pre/common/local。以下を参照: prod:本番環境 gray:カナリア環境 pre:プレリリース環境 common:日常環境 local:ローカル環境 |
version |
string |
必須。バージョン番号。 |
service |
string |
オプション。所属するビジネスまたはサービスの名前。固定名:
df_rum_ios
df_rum_tvos
df_rum_android
df_rum_windows
df_rum_linux |
ユーザー & セッション属性
| フィールド |
タイプ |
説明 |
userid |
string |
未ログインユーザーはランダムな uuid を userid として使用します。ログインユーザーはアプリケーションバックエンドで生成されたユーザー ID を使用します。 |
user_name |
string |
オプション。ユーザー名。 |
user_email |
string |
オプション。ユーザーメールアドレス。 |
session_id |
string |
セッション ID。15 分以上操作がない場合、新しい session_id が生成されます。 |
session_type |
string |
セッションタイプ。参考値:user & synthetics user:RUM 機能から生成されたデータ。 synthetics:ヘッドレス Synthetic テストから生成されたデータ。 |
is_signin |
boolean |
登録ユーザーかどうか。属性値:T & F。 |
session_has_replay |
boolean |
現在のセッションが Session Replay データに関連付けられているかどうか。Session Replay 関連機能を有効にすると、View、Resource、Error、Long Task、Action にこのフィールドが書き込まれます。 |
custom_keys |
string |
RUM カスタム属性のキーリスト。 |
デバイス & 解像度属性
| フィールド |
タイプ |
説明 |
device |
string |
モバイルデバイスのメーカー |
model |
string |
モバイルデバイスのモデル |
device_uuid |
string |
モバイルデバイスの一意の ID。UIDevice.identifierForVendor を使用して生成されます。 |
os |
string |
オペレーティングシステム情報 |
os_version |
string |
オペレーティングシステムのバージョン |
os_version_major |
string |
オペレーティングシステムのメジャーバージョン |
screen_size |
string |
画面解像度 |
arch |
string |
CPU アーキテクチャ。例:arm64、arm64e、x86_64 |
地理 & ネットワーク属性
| フィールド |
タイプ |
説明 |
ip |
string |
ユーザーアクセス IP アドレス |
isp |
string |
通信事業者 |
network_type |
string |
ネットワーク接続タイプ。属性値の参考: wifi & 2g & 3g & 4g & 5g & unknown(不明なネットワーク)& unreachable(ネットワーク到達不能) |
country |
string |
国 |
country_iso_code |
string |
国の ISO コード |
province |
string |
省 |
city |
string |
都市 |
カスタム属性
グローバル属性以外にも、カスタム属性(SDK はユーザーがカスタムタグデータを設定可能)を使用して、シナリオの構築やイベントアラートの設定ができます。カスタム属性は非グローバル属性であり、カスタム属性を使用することで、ユーザーがアプリケーションにアクセスする全過程を追跡し、ユーザーが影響を受けたアクセス状況を特定・発見し、ユーザーアクセスのパフォーマンスを監視できます。
その他のデータタイプ属性
Session
Session はセッション次元のデータであり、通常はサーバー側で SDK から報告された RUM データに基づいて生成または集約され、iOS SDK が直接報告する個別の measurement ではありません。
属性
| フィールド |
タイプ |
説明 |
session_id |
string |
セッション ID |
session_type |
string |
セッションタイプ。参考値:user & synthetics user:RUM 機能から生成されたデータ。 synthetics:ヘッドレス Synthetic テストから生成されたデータ。 |
session_referrer |
string |
セッションの参照元。通常は、参照元のページアドレスを記録します。 |
session_first_view_id |
string |
現在のセッションの最初のページの view_id |
session_first_view_name |
string |
現在のセッションの最初のページの URL |
session_last_view_id |
string |
現在のセッションの最後にアクセスしたページの view_id |
session_last_view_name |
string |
現在のセッションの最後のページの URL |
統計指標
| フィールド |
タイプ |
説明 |
time_spent |
number(ns) |
現在のセッションの継続時間 |
session_view_count |
number |
現在のセッションに関連付けられた view_id の数 |
session_error_count |
number |
現在のセッションで発生したエラーの数 |
session_resource_count |
number |
現在のセッションでロードされたリソースの数 |
session_action_count |
number |
現在のセッションでのユーザー操作の回数 |
session_long_task_count |
number |
現在のセッションで発生したロングタスクの回数 |
View
属性
| フィールド |
タイプ |
説明 |
view_id |
string |
ページにアクセスするたびに生成される一意の ID |
view_referrer |
string |
ページの参照元。ページの親 |
view_name |
string |
ページ名 |
session_has_replay |
boolean |
現在の View が属するセッションが Session Replay データに関連付けられているかどうか |
指標
| フィールド |
タイプ |
説明 |
loading_time |
number(ns) |
ページ読み込み時間 |
time_spent |
number(ns) |
ページ滞在時間 |
is_active |
boolean |
ユーザーがまだアクティブ状態かどうかを判断。参考値:true & false |
session_sample_rate |
number |
RUM セッションサンプリングレート |
session_on_error_sample_rate |
number |
RUM セッションサンプリングにヒットしなかった場合に、エラー発生後に補足サンプリングするサンプリングレート |
session_replay_sample_rate |
number |
Session Replay サンプリングレート。Session Replay 関連機能を有効にすると表示されます。 |
session_replay_on_error_sample_rate |
number |
エラー発生後に Session Replay を補足サンプリングするサンプリングレート。Session Replay 関連機能を有効にすると表示されます。 |
sampled_for_error_session |
boolean |
現在のセッションがエラーサンプリングポリシーによってサンプリングされたかどうか |
sampled_for_error_replay |
boolean |
現在の Session Replay がエラーサンプリングポリシーによってサンプリングされたかどうか |
session_error_timestamp |
number(ns) |
エラーサンプリングがヒットしたときのエラー発生時刻 |
session_replay_stats |
object |
現在の View に関連付けられた Session Replay の統計情報 |
統計指標
| フィールド |
タイプ |
説明 |
view_error_count |
number |
ページ読み込みごとに発生したエラーの回数 |
view_resource_count |
number |
ページ読み込みごとにリクエストされたリソースの数 |
view_long_task_count |
number |
ページ読み込みごとに発生したロングタスクの数 |
view_action_count |
number |
ページ表示中に行われた操作の回数 |
view_update_time |
number |
View の更新回数 |
view_long_task_rate |
number |
View 期間中のロングタスクの時間占比 |
監視指標
| フィールド |
タイプ |
説明 |
cpu_tick_count |
number |
オプション。そのページの CPU ティック数 |
cpu_tick_count_per_second |
number |
オプション。1 秒あたりの平均 CPU ティック数 |
fps_avg |
number |
オプション。ページの平均フレームレート(fps) |
fps_mini |
number |
オプション。ページの最小フレームレート(fps) |
memory_avg |
number |
オプション。ページのメモリ使用量の平均値 |
memory_max |
number |
オプション。ページのメモリピーク値 |
Resource
View 属性
| フィールド |
タイプ |
説明 |
view_id |
string |
ページにアクセスするたびに生成される一意の ID |
view_referrer |
string |
ページの参照元。ページの親 |
view_name |
string |
ページ名 |
Action 属性
| フィールド |
タイプ |
説明 |
action_id |
string |
ユーザーページ操作時に生成される一意の ID |
action_name |
string |
操作名 |
action_type |
string |
操作タイプ(コールド/ホットスタート、クリック操作など) |
Resource 属性
| フィールド |
タイプ |
説明 |
resource_url |
string |
リソース URL |
resource_url_host |
string |
リソース URL のドメイン部分 |
resource_url_path |
string |
リソース URL のパス部分 |
resource_url_query |
string |
リソース URL のクエリ部分 |
resource_url_path_group |
string |
リソース URL のパスグループ |
resource_type |
string |
リソースのカテゴリ |
resource_method |
string |
リソースのリクエスト方式 |
resource_status |
string |
リソースリクエストが返したステータス値 |
resource_status_group |
string |
リソースリクエストが返したステータスのグループ値 |
resource_host_ip |
string |
リソース URL のアクセス先 IP |
resource_id |
string |
リソースリクエストの一意の ID |
response_connection |
string |
レスポンスヘッダー Connection の値 |
response_content_type |
string |
レスポンスヘッダー Content-Type の値 |
response_content_encoding |
string |
レスポンスヘッダー Content-Encoding の値 |
span_id |
string |
分散型トレーシングに関連付けられたスパン ID |
trace_id |
string |
分散型トレーシングに関連付けられたトレース ID |
session_has_replay |
boolean |
現在の Resource が属するセッションが Session Replay データに関連付けられているかどうか |
指標
| フィールド |
タイプ |
説明 |
resource_size |
number |
リソースサイズ。デフォルト単位:byte |
resource_request_size |
number |
リソースリクエストサイズ。デフォルト単位:byte |
resource_dns |
number(ns) |
リソース読み込みの DNS 解決時間 計算方法:domainLookupEnd - domainLookupStart |
resource_tcp |
number(ns) |
リソース読み込みの TCP 接続時間 計算方法:connectEnd - connectStart |
resource_ssl |
number(ns) |
リソース読み込みの SSL 接続時間 計算方法:connectEnd - secureConnectStart |
resource_ttfb |
number(ns) |
リソース読み込みのリクエスト応答時間 計算方法:responseStart - requestStart |
resource_trans |
number(ns) |
リソース読み込みのコンテンツ転送時間 計算方法:responseEnd - responseStart |
resource_first_byte |
number(ns) |
リソース読み込みの最初のバイト時間 計算方法:responseStart - domainLookupStart |
duration |
number(ns) |
リソース読み込み時間 計算方法:duration(responseEnd-startTime) |
resource_dns_time |
object |
DNS フェーズの所要時間。構造は {start, duration} |
resource_connect_time |
object |
TCP 接続フェーズの所要時間。構造は {start, duration} |
resource_first_byte_time |
object |
最初のバイトフェーズの所要時間。構造は {start, duration} |
resource_ssl_time |
object |
SSL フェーズの所要時間。構造は {start, duration} |
resource_download_time |
object |
ダウンロードフェーズの所要時間。構造は {start, duration} |
resource_redirect_time |
object |
リダイレクトフェーズの所要時間。構造は {start, duration} |
resource_http_protocol |
string |
リソースリクエストで使用されたネットワークプロトコル |
resource_connection_reuse |
boolean |
リソースリクエストが接続を再利用したかどうか |
request_header |
string |
リソースリクエストヘッダー |
response_header |
string |
リソースレスポンスヘッダー |
ネットワークスナップショット
| フィールド |
タイプ |
説明 |
network_available |
boolean |
Resource 開始時にネットワークが利用可能だったかどうか |
Error
View 属性
| フィールド |
タイプ |
説明 |
view_id |
string |
ページにアクセスするたびに生成される一意の ID |
view_referrer |
string |
ページの参照元。ページの親 |
view_name |
string |
ページ名 |
Action 属性
| フィールド |
タイプ |
説明 |
action_id |
string |
ユーザーページ操作時に生成される一意の ID |
action_name |
string |
操作名 |
Error 属性
| フィールド |
タイプ |
説明 |
error_source |
string |
エラーの発生源。参考値:logger & network |
error_type |
string |
エラータイプ logger error type: anr_error | ios_crash network error type:network_error |
error_situation |
string |
エラーが発生したタイミング。参考値:startup(起動時)と run(実行時) |
session_has_replay |
boolean |
現在の Error が属するセッションが Session Replay データに関連付けられているかどうか |
type=network の場合、以下の Network Error 属性が追加されます。
| フィールド |
タイプ |
説明 |
resource_id |
string |
リソースリクエストの一意の ID |
resource_status |
string |
リソースリクエストが返したステータス値 |
resource_url |
string |
リソース URL |
resource_url_host |
string |
リソース URL のドメイン部分 |
resource_url_path |
string |
リソース URL のパス部分 |
resource_url_path_group |
string |
リソース URL のパスグループ |
resource_status_group |
string |
リソースリクエストが返したステータスのグループ値 |
resource_method |
string |
リソースのリクエスト方式 |
Error 監視属性
| フィールド |
タイプ |
説明 |
memory_total |
string |
オプション。メモリ総量 |
memory_use |
number |
オプション。メモリ使用率 |
cpu_use |
number |
オプション。CPU 使用率 |
battery_use |
number |
オプション。現在の携帯電話のバッテリー残量(tvOS は非対応) |
carrier |
string |
オプション。通信事業者情報(iOS 対応) |
locale |
string |
現在のシステム言語 |
指標
| フィールド |
タイプ |
説明 |
error_message |
string |
エラーメッセージ |
error_stack |
string |
エラースタックトレース |
foreground_crash_free_duration |
number(ns) |
クラッシュ発生時にアプリがフォアグラウンドでクラッシュなしで稼働していた時間 |
background_crash_free_duration |
number(ns) |
クラッシュ発生時にアプリがバックグラウンドでクラッシュなしで稼働していた時間 |
crash_extra |
object |
クラッシュ追加情報(レジスタ情報など) |
Long Task
View 属性
| フィールド |
タイプ |
説明 |
view_id |
string |
ページにアクセスするたびに生成される一意の ID |
view_referrer |
string |
ページの参照元。ページの親 |
view_name |
string |
ページ名 |
Action 属性
| フィールド |
タイプ |
説明 |
action_id |
string |
ユーザーページ操作時に生成される一意の ID |
action_name |
string |
操作名 |
指標
| フィールド |
タイプ |
説明 |
duration |
number(ns) |
カクつきの持続時間 |
long_task_stack |
string |
カクつきのスタックトレース |
session_has_replay |
boolean |
現在の Long Task が属するセッションが Session Replay データに関連付けられているかどうか |
Action
View 属性
| フィールド |
タイプ |
説明 |
view_id |
string |
ページにアクセスするたびに生成される一意の ID |
view_referrer |
string |
ページの参照元。ページの親 |
view_name |
string |
ページ名 |
Action 属性
| フィールド |
タイプ |
説明 |
action_id |
string |
ユーザーページ操作時に生成される一意の ID |
action_name |
string |
操作名。デフォルトの起動 Action には app_hot_start、app_cold_start、app_warm_start が含まれます。 |
action_type |
string |
操作タイプ。参考値:click、launch_hot、launch_cold、launch_warm |
session_has_replay |
boolean |
現在の Action が属するセッションが Session Replay データに関連付けられているかどうか |
指標
| フィールド |
タイプ |
説明 |
duration |
number(ns) |
ページ操作にかかった時間 |
app_pre_runtime_init_time |
object |
起動フェーズの指標。ランタイム初期化前の所要時間。構造は {start, duration} |
app_runtime_init_time |
object |
起動フェーズの指標。ランタイム初期化の所要時間。構造は {start, duration} |
app_uikit_init_time |
object |
起動フェーズの指標。UIKit 初期化の所要時間。構造は {start, duration} |
app_application_init_time |
object |
起動フェーズの指標。Application 初期化の所要時間。構造は {start, duration} |
app_first_frame_init_time |
object |
起動フェーズの指標。最初のフレームレンダリングの所要時間。構造は {start, duration} |
app_launch_type |
string |
コールドスタートのタイプ。action_type=launch_cold の場合のみ報告されます。参考値:foreground、background |
統計指標
| フィールド |
タイプ |
説明 |
action_long_task_count |
number |
操作に関連付けられたロングタスクの回数 |
action_resource_count |
number |
操作に関連付けられたリソースリクエストの回数 |
action_error_count |
number |
操作に関連付けられたエラーの回数 |
WebView 関連付け
WebView JSBridge データを RUM に取り込む際、SDK は対応するデータに is_web_view=true を追加し、このデータが WebView からのものであることを識別します。WebView データのフィールドは主に Web SDK の報告フィールドに従い、native iOS フィールドテーブルにはこの関連付けの説明のみが保持されます。