このトピックでは、Real User Monitoring ログのデータフィールドについて説明します。
概要
Real User Monitoring ログには、詳細テーブルと集約テーブルが含まれます。
詳細テーブル: ビューテーブル、リソーステーブル、例外テーブル、アクションテーブル、カスタムテーブル、アプリケーションテーブル、およびシステムテーブル
集約テーブル: セッションテーブル
アプリケーションテーブルとシステムテーブルは、ネイティブアプリケーション監視にのみ使用されます。
用語集
属性: 通常は文字列のインデックスです。データのグループ化、フィルタリング、集約に使用されます。属性は定量化できず、取りうる値のセットが限られており、インデックスが作成されます。
メジャー: 通常は数値のインデックスです。定量化可能な値です。
メタデータ: デフォルトではインデックスが作成されないデータです。主にデータプロパティに関する情報を提供することで、他のデータを記述します。
共通属性
共通属性にはインデックスを作成する必要があります。これらはデータフィルタリングと集約に不可欠であり、詳細テーブルと集約テーブルの両方に存在します。同じセッション内では、共通属性は通常、一貫した値を持ちます。ただし、たとえば、ユーザーがセッション内でアカウントを切り替えてユーザー ID (UID) が変更された場合など、値が異なることがあります。
属性 | タイプ | フィールド名 | 説明 |
timestamp | long | 発生時刻 | イベントの開始時刻。利用できない場合は、システム時刻が使用されます。 |
event_type | string | イベントタイプ | view、resource、exception、longtask、action、custom、およびセッション集約テーブル。 |
event_id | string | イベント ID | view と session を除く、resource、exception、longtask、action、および custom イベント。 |
app.id | string | アプリケーション ID | Real User Monitoring (RUM) アプリケーションを作成するときに生成される一意のアプリケーション ID。 |
app.version | string | アプリケーションバージョン | ユーザー定義のバージョン番号。 |
app.channel | string | アプリケーションチャンネル | アプリケーションチャンネル。 |
app.env | string | 環境コンテキスト | 本番 (prod) (デフォルト)、グレースケール (gray)、プレリリース (pre) などの環境を区別するために使用される環境タイプ。 |
app.type | string | アプリケーションタイプ | アプリケーションの作成時に選択されたアプリケーションタイプ。レポート側とデータストリームの両方で指定されます。有効な値:
|
app.package | string | アプリケーションパッケージ名 | パッケージの定義はプラットフォームによって異なります:
|
user.id | string | ユーザー ID | ユーザー ID (訪問者識別子)。ソフトウェア開発キット (SDK) によって自動的に生成され、変更することはできません。 |
user.name | string | ユーザー名 | ユーザー名 (ビジネスユーザー識別子)。カスタム構成が必要です。 |
user.tags | string | ユーザータグ | ユーザータグ。 |
device.id | string | デバイス ID | デバイス ID。 |
device.type | string | デバイスタイプ | モバイルフォンや PC など、デバイスによって報告されるデバイスタイプ。 |
device.brand | string | デバイスブランド | Mac、iPad、Huawei、Xiaomi など、デバイスによって報告されるデバイスブランド。 |
device.model | string | デバイスモデル | デバイスによって報告されるデバイスモデル。 |
device.name | string | デバイス名 | デバイスによって報告されるデバイス名。 |
os.type | string | オペレーティングシステム | デバイスによって報告されるオペレーティングシステム名。 |
os.version | string | オペレーティングシステムバージョン | デバイスによって報告されるオペレーティングシステムバージョン。 |
os.container | string | コンテナータイプ | 例: Chrome、WeChat ミニプログラム、または App (アプリケーション名)。 |
os.container_version | string | コンテナーバージョン | 例: Chrome のバージョン。 |
geo.country | string | 国 | 国名。 |
geo.country_id | string | 国 ISO | 国の ISO コード。 |
geo.province | string | 省/リージョン | 省またはリージョン名。 |
geo.province_id | string | リージョン コード | 省またはリージョンコード。 |
geo.city | string | 市 | 市名。 |
geo.city_id | string | 市 コード | 市コード。 |
isp.id | string | キャリア ID | キャリア ID。 |
isp.name | string | キャリア名 | キャリア名。 |
net.model | string | 接続タイプ | 2G、3G、4G、5G、WIFI、不明などのネットワーク接続タイプ。値はプラットフォーム固有の情報に基づいて返されます。 |
net.name | string | ネットワーク名 | イーサネット名。 |
共通メジャー
メトリック | タイプ | 説明 |
times | int | イベントが発生した回数。デフォルト値は 1 です。 |
共通メタデータ
フィールド名 | タイプ | 説明 |
os.user_agent | string | 報告されたリクエストヘッダー。 |
net.ip | string | クライアント IP |
device.sr | string | 画面解像度。 |
os.container_vp | string | ページサイズ解像度。 |
詳細テーブルの設計
ビューテーブル
ビューは、アクセス量と関連するパフォーマンスデータに焦点を当てたインタラクティブなユーザービューです。ビューは次のタイプに分類されます:
PV: ビューがアクセスされた回数をカウントするために使用されます。各ビューアクセスに対して PV を報告する必要があります。これは、さまざまなイベントを関連付け、さまざまなタイミングメトリックを計算するための基本データを提供します。
Web Vitals: Google が提案した 3 つのコアビューパフォーマンスメトリックに基づいています。収集のタイミングが大きく異なり、標準が明確に定義されているため、これらは個別に保存されます。
Perf: ビューの一般的なパフォーマンスデータ。これは、Performance 標準に基づくその他のメトリックのカテゴリです。このタイプは、ページの客観的なパフォーマンスに焦点を当てています。主観的なパフォーマンスメトリックは含まれません。
説明たとえば、ページの滞在時間は主観的なパフォーマンスの一種です。定義上、ページの滞在時間はユーザーの行動データの一種であり、アクションテーブルで管理する方が適切です。
Web Vitals と Perf はオプションのレポートタイプであり、ネイティブビューには適用されない場合があります。
属性
属性 | タイプ | フィールド名 | 説明 |
session.id | string | セッション ID | 関連付けられたセッション。 |
view.id | string | ビュー ID | 各ページビューに対してランダムに生成される ID。 |
view.name | string | ビュー名 | ビューのクラスのエイリアス。デフォルトでは、URL のパス部分です。ルールに基づいて照合したり、ユーザーが構成したりできます。 |
view.loading_type | string | ビュー読み込みタイプ | ビュー読み込みタイプ:
|
view.type | string | イベントタイプの表示 | イベントの種類:
|
view.view_type | string | ビューレンダリングタイプ | - |
指標
属性 | タイプ | フィールド名 | 説明 |
view.time_spent | long (ms) | ページ | 現在のビューに費やした時間。 |
view.largest_contentful_paint | long (ms) | Largest Contentful Paint | ビュー内の最大の DOM オブジェクト (画面に表示) がページ読み込みタイムラインでレンダリングされる時間。2.5 秒を超える値は遅いとマークされます。 |
view.first_input_delay | long (ms) | First Input Delay | ユーザーが最初にページを操作してからブラウザが応答するまでの経過時間。 |
view.cumulative_layout_shift | long | Cumulative Layout Shift | サードパーティの広告など、動的に読み込まれたコンテンツによって引き起こされる予期しないページの動きを定量化します。値 0 はシフトがないことを示します。 |
view.first_contentful_paint | long (ms) | First Contentful Paint (ブランクスクリーン時間) | ブラウザが最初にテキスト、画像 (背景画像を含む)、白以外のキャンバス、または SVG をレンダリングする時間。 |
view.dom_interactive | long (ms) | Time to Interactive | コンテンツがインタラクティブになる時間。 |
view.dom_content_loaded | long (ms) | HTML 完全読み込み時間 (DOM Ready 時間) | このイベントは、レンダリングをブロックしないスタイルシート、画像、サブフレームの読み込みが完了するのを待たずに、最初の HTML ドキュメントが完全に読み込まれて解析されたときにトリガーされます。 |
view.dom_complete | long (ms) | DOM | ページとそのすべてのサブリソースが準備完了です。ユーザーにとって、読み込みスピナーは停止しています。 |
view.load_event | long (ms) | ページ完全読み込み時間 | ページが完全に読み込まれたときにトリガーされるイベント。これは、追加のアプリケーションロジックのトリガーになることがよくあります。 説明 2 秒未満のページ読み込み時間は優れていると見なされ、最大 4 秒までが許容範囲です。5 秒を超えるページ読み込み時間は、ウェブサイトの検索エンジンランキングに影響を与えるだけでなく、ユーザーエクスペリエンスにも深刻な影響を与えます。 |
メタデータ
属性 | タイプ | 説明 |
view.referrer | string | 現在リクエストされているページへのリンクがたどられた前のウェブページの URL。 |
view.url | string | ビューに対応する URL。完全な URL には、スキーム、ホスト、パス、クエリ、およびハッシュ部分が含まれます。 |
view.timing_data | string | PerformanceResourceTiming の JSON 文字列。 |
view.snapshots | string | ビューのスナップショットの JSON 文字列。主にネイティブアプリケーションで使用されます。 |
リソーステーブル
リソースイベントは、ネットワークリクエストの概要です。これは、HTTP プロトコルと Performance 標準に基づく Real User Monitoring (RUM) イベントタイプです。Performance 標準はプラットフォームによって大きく異なるため、RUM はこれらの違いを調整するための調整を行っています。
ビジネスおよび実用的な観点から、リソースは静的リソースと API の 2 つの主要なカテゴリに分類されます。静的リソースと API はどちらも HTTP 経由でリクエストされるリソースですが、それぞれの焦点は次のリストで説明するようにかなり異なります:
静的リソース (`resource.type` が `css`、`javascript`、`image`、`media` など) は、リソースタイプ、CDN、およびネットワークの安定性に焦点を当てています。`resource.type` が `navigation` の場合、リソースデータはビュー (同じ `view.id`) に関連付けられます。
API (`resource.type` が `XHR`、`fetch`、または `API`) は、主にサーバー側のインタラクション (応答コードや応答コンテンツなど) に関係し、Tracing との関連性が強いです。
XHR と fetch は、主にブラウザや WebView、または同様のシナリオで使用されます。
API タイプが指定されていない場合、デフォルト値は API です。この値は、ネイティブおよびミニアップのシナリオで一般的です。
一般に、リソースイベントは、実際のネットワークリクエストが開始された場合にのみ焦点を当てます。キャッシュから取得されたデータについては、フィルタリングして報告しないことをお勧めします。このデータの報告に価値がある場合 (たとえば、キャッシュヒット率やリソース使用量を計算するため)、ネットワークリクエストを開始したリソースと区別するために、リソースタイプを cached としてマークする必要があります。
属性
属性 | タイプ | 説明 |
session.id | string | 関連付けられたセッション。 |
view.id | string | 関連付けられたビュー。 |
view.name | string | 関連付けられた view.name。 |
resource.type | string | 収集されたリソースのタイプ。例: `css`、`javascript`、`media`、`XHR`、`image`、`navigation`。 説明 リクエストが XHR または fetch リクエストの場合、リソースタイプは API と見なされます。 |
resource.method | string | HTTP リクエストメソッド。例: POST、GET。 |
resource.status_code | string | リソース状態コード。 |
resource.message | string | 返された結果のコンテンツ。通常、エラーが発生したときに提供されます。これは `resource.error_msg` に対応します。 |
resource.url | string | リソース URL。 |
resource.name | string | デフォルトでは、これは URL のパス部分です。ルールに基づいて照合したり、ユーザーが構成したりできます。 |
resource.provider_type | string | リソースプロバイダーのタイプ。例: `first-party`、`cdn`、`ad`、`analytics`。 |
resource.trace_id | string | リソースリクエストのトレース ID。 |
メジャー
メトリック | タイプ | 説明 |
resource.success | number | リソースが正常に読み込まれたかどうかを示します:
|
resource.duration | long (ms) | リソースの読み込みに費やされた合計時間。 式: `responseEnd - redirectStart` |
resource.size | long (bytes) | リソースのサイズ。`decodedBodySize` に対応します。 |
resource.connect_duration | long (ms) | サーバーへの接続の確立に費やされた時間。 式: `connectEnd - connectStart` |
resource.ssl_duration | long (ms) | TLS ハンドシェイクに費やされた時間。このメトリックは、最後のリクエストが HTTPS 経由で行われなかった場合は表示されません。 式: `connectEnd - secureConnectionStart` `secureConnectionStart` の値が 0 の場合、SSL 接続が開始されなかったことを意味します。この場合、`ssl_duration` は計算されず、0 に設定されます。 |
resource.dns_duration | long (ms) | 最後のリクエストの DNS 名の解決に費やされた時間。 式: `domainLookupEnd - domainLookupStart` |
resource.redirect_duration | long (ms) | HTTP リクエストのリダイレクトに費やされた時間。 式: `redirectEnd - redirectStart` |
resource.first_byte_duration | long (ms) | 応答の最初のバイトを受信するのを待機するのに費やされた時間。 式: `responseStart - requestStart` |
resource.download_duration | long (ms) | 応答のダウンロードに費やされた時間。 式: `responseEnd - responseStart` |
メタデータ
属性 | タイプ | 説明 |
resource.timing_data | string | PerformanceResourceTiming の JSON 文字列。 |
resource.trace_data | string | Tracing Analysis 情報のスナップショット: |
resource.snapshots | string | ビュースナップショット。主にネイティブアプリケーションに含まれます。 |
resource.node_name | string | リクエストを開始した DOM タイプ。 |
resource.xpath | string | XPath が発生した場所。 html. > body. > img. |
resource.provider_name | string | リソースプロバイダーの名前。デフォルト値は `unknown` です。 |
resource.provider_domain | string | リソースプロバイダーのドメイン名。 |
例外テーブル
例外は、コードの実行中に発生する予期しないイベントです。
クラッシュ: アプリケーションが予期せず終了します。
ANR: アプリケーションが応答しません。これは、キーディスパッチ、ブロードキャスト、サービスメッセージなどの特定のメッセージが、アプリケーションの UI スレッド (メインスレッド) で指定された時間内に処理されない場合に発生します。定義上、ANR は例外のすべての特性を持ち、LongTask ではなく例外として分類されます。
例外: クラッシュや ANR を引き起こさないその他の異常な状況。
カスタム: ユーザーによって積極的に報告されるカスタムエラー。
エラー: 主に JavaScript 関連のエラーを記録するために使用されます。
ブランク: ブランクスクリーン監視に使用され、主にブラウザのブランクスクリーンイベントに使用されます。
属性
属性 | タイプ | 説明 |
session.id | string | 関連付けられたセッション。 |
view.id | string | 関連付けられたビュー。 |
view.name | string | 関連付けられた view.name。 |
exception.source | string | エラーのソース。例: `console`、`event`。 |
exception.file | string | エラーファイル。 |
exception.type | string | エラータイプ。これには以下が含まれます:
|
exception.subtype | string | エラータイプのサブカテゴリ。 |
exception.name | string | エラー名。 |
exception.message | string | イベントを説明する簡潔で人間が読めるメッセージ。 |
メタデータ
属性 | タイプ | 説明 |
exception.stack | string | スタックトレースまたはエラーに関する補足情報。 |
exception.caused_by | string | 例外の原因。 |
exception.line | long | 例外が発生した行番号。 |
exception.column | long | 例外が発生した列番号。 |
exception.thread_id | string | スレッド ID。 |
exception.binary_images | string | エラーソース。 |
exception.snapshots | string | エラースナップショット。 |
アクションテーブル
属性
属性 | タイプ | 説明 |
session.id | string | 関連付けられたセッション。 |
view.id | string | 関連付けられたビュー。 |
view.name | string | 関連付けられた view.name。 |
action.type | string | ユーザーの動作タイプ。 |
action.name | string | セマンティック名。例: `Click #checkout`。 |
action.target_name | string | ユーザーが操作した要素。自動的に収集されたアクションにのみ使用されます。 |
メジャー
メトリック | タイプ | 説明 |
action.duration | long (ms) | 動作の期間。 |
メタデータ
属性 | タイプ | 説明 |
action.snapshots | string | 動作のスナップショット。 |
action.method_info | string | 動作のコールバック。例: `onClick()`。 |
カスタムテーブル
属性
属性 | タイプ | 説明 |
session.id | string | 関連付けられたセッション。 |
view.id | string | 関連付けられたビュー。 |
view.name | string | 関連付けられた view.name。 |
custom.type | string | カスタムタイプ。 |
custom.name | string | カスタムイベント名。 |
custom.group | string | カスタムイベントグループ。 |
メジャー
属性 | タイプ | 説明 |
custom.value | number | イベントグループをカスタマイズできます。 |
メタデータ
属性 | タイプ | 説明 |
custom.snapshots | string | 文字長は通常 5,000 文字を超えません。 |
アプリケーションテーブル
このテーブルには、コールドスタートまたはホットスタート、アプリケーションの終了、アプリケーションのバックグラウンドとフォアグラウンドの切り替えなど、アプリケーションレベルのイベントが記録されます。
属性
属性 | タイプ | 説明 |
session.id | string | 関連付けられたセッション。 |
application.type | string | 列挙型:
|
application.name | string | `application.type` のより詳細なタイプ。例:
|
メジャー
メトリック | タイプ | 説明 |
application.duration | long (ms) | アプリケーションイベントタイプに対応する期間。 |
メタデータ
属性 | タイプ | 説明 |
application.snapshots | string | アプリケーション起動イベントのスナップショットデータ。通常はスレッドメソッドです。 |
システムテーブル
属性
属性 | タイプ | 説明 |
session.id | string | 関連付けられたセッション。 |
system.type | string | ユーザーの動作タイプ。 |
system.name | string | セマンティック名。例: `Click #checkout`。 |
メタデータ
属性 | タイプ | 説明 |
system.snapshots | string | |
集約テーブルの設計
セッションテーブル
属性
属性 | タイプ | 説明 |
session.id | string | 各セッションに対してランダムに生成される ID。 |
session.ip | string | クライアント IP アドレス。 |
session.referrer | string | 現在リクエストされているページへのリンクがたどられた前のウェブページの URL。 |
session.initial_view_id | string | ユーザーによって生成された最初のビュー ID。 |
session.initial_view_name | string | ユーザーによって生成された最初のビュー名。 |
session.last_view_id | string | ユーザーによって生成された最後のビュー ID。 |
session.last_view_name | string | ユーザーによって生成された最後のビュー名。 |
session.start | long | セッションの開始タイムスタンプ。 |
session.end | long | セッションの終了タイムスタンプ。 |
メタデータ
属性 | タイプ | 説明 |
session.initial_view.url | string | ユーザーによって生成された最初のビュー URL。 |
session.last_view_url | string | ユーザーによって生成された最後のビュー URL。 |
測定
メトリック | タイプ | 名前 | 説明 |
session.time_spent | long (ms) | セッション期間 | ユーザーセッションの期間。 |
session.view_count | long | ビュー数 | このセッションで収集されたすべてのページビューの総数。 |
session.exception_count | long | 例外数 | このセッションで収集されたすべての例外の総数。 |
session.resource_count | long | リソースリクエスト数 | このセッションで収集されたすべてのリソースの総数。 |
session.resource_error_count | long | リソースエラー数 | このセッションで収集されたすべてのリソースエラーの総数。 |
session.api_count | long | API リクエスト数 | このセッションで収集されたすべての API リクエストの総数。 |
session.api_error_count | long | API エラー数 | このセッションで収集されたすべての API リクエストエラーの総数。 |
session.action_count | long | ユーザーイベント数 | このセッションで収集されたすべてのアクションの総数。 |
session.long_task_count | long | カクつき数 | このセッションで収集されたすべての long task の総数。 |