このトピックでは、Application Real-Time Monitoring Service (ARMS) のブラウザ監視の各ページにおける主要な統計メトリクスと、ブラウザ監視ログのフィールドについて説明します。
満足度
アプリケーションパフォーマンス指標 (Apdex) は、アプリケーションのパフォーマンスを評価するためのグローバルスタンダードです。アプリケーションのユーザーエクスペリエンスは、Apdex に基づいて次の 3 つのレベルで評価できます。
満足 (0 から T)
許容 (T から 4T)
不満 (4T より大きい)
Apdex スコアは、次の式を使用して計算されます。
APDEX スコア = (満足サンプル数 + 許容サンプル数/2)/合計サンプル数
ARMS の Apdex を評価するためのメトリクスとして、First Paint Time (FPT) が使用されます。T のデフォルト値は 2 秒です。
JS の安定性
ARMS では、JavaScript (JS) の安定性は、ページの JS エラー率によって評価されます。
ページビュー (PV) サイクルで JS エラーが発生した場合、この PV サイクルはエラーサンプルと見なされます。
エラー率 = エラーサンプル数/合計サンプル数
自動的に報告される JS エラーに加えて、ページの例外には、SDK メソッドで説明されているメソッドを手動で呼び出したときに報告されるエラーも含まれます。
アクセス速度
ARMS では、アクセス速度はページの FPT によって評価されます。
すべてのパフォーマンスまたは速度の統計情報は、World Wide Web Consortium (W3C) によって定義された Navigation Timing API を使用して収集されます。
表 1. Web ページの主要なパフォーマンスメトリクス
報告フィールド | 説明 | 式 | 備考 |
FMP | First Meaningful Paint (FMP)。 | 該当なし | なし |
FPT | FPT。 | responseEnd - fetchStart | このフィールドは、リクエストが開始された時点から、ブラウザが最初のバッチの HTML ドキュメントのバイトの解析を開始する時点までの期間を示します。 |
TTI | Time to Interactive (TTI)。 | domInteractive - fetchStart | このフィールドは、ブラウザがすべての HTML ドキュメントを解決し、ドキュメントオブジェクトモデル (DOM) を構築した後にリソースのロードを開始する時点を示します。 |
Ready | HTML のロードに費やされた時間。これは、DOM の構築に費やされた時間です。 | domContentLoadEventEnd - fetchStart | JS スクリプトがページ上で同期的に実行される場合、JS スクリプトの実行時間は次の式に基づいて計算できます。JS スクリプトの実行時間 = Ready - TTI。 |
Load | ページのロードに費やされた時間。 | loadEventStart - fetchStart | このフィールドは、次の式に基づいて計算できます。Load = FPT + DOM + (Ready - TTI) + Res。 |
FirstByte | サーバーから最初のパケットを受信するまでに費やされた時間。 | responseStart - domainLookupStart | なし |
表 2. 各フェーズで費やされた時間を表すフィールド
報告フィールド | 説明 | 式 | 備考 |
DNS | ドメインネームシステム (DNS) クエリに費やされた時間。 | domainLookupEnd - domainLookupStart | なし |
TCP | 伝送制御プロトコル (TCP) 接続に費やされた時間。 | connectEnd - connectStart | なし |
TTFB | Time to First Byte (TTFB)。リクエストへの応答に費やされた時間を示します。 | responseStart - requestStart | TTFB はさまざまな方法で計算できます。ARMS での TTFB の計算方法の詳細については、Google 開発定義 を参照してください。 |
Trans | データ伝送に費やされた時間。 | responseEnd - responseStart | なし |
DOM | DOM 解決に費やされた時間。 | domInteractive - responseEnd | なし |
Res | リソースのロードに費やされた時間。 | loadEventStart - domContentLoadedEventEnd | ページ上のリソースを同期的にロードするのに費やされた時間。 |
SSL | Secure Sockets Layer (SSL) 接続に費やされた時間。 | connectEnd - secureConnectionStart | このフィールドは、HTTPS を使用してデータを送信する場合にのみ有効です。 |
表 3. ミニプログラムの主要なパフォーマンスメトリクス
報告フィールド | 説明 | 式 | 備考 |
FPT | FPT。 | onShow (最初のページ) - onLaunch (アプリ) | ミニプログラムが onLaunch メソッドを呼び出した時点から、ミニプログラムが onShow メソッドを呼び出して最初のページを表示する時点までの期間。 |
API 呼び出しの成功率
API 呼び出しの成功率 = 成功した API 呼び出しサンプル数/API 呼び出しの合計サンプル数
自動的に報告される AJAX リクエストに加えて、API 呼び出しの成功率を計算するためのサンプルには、SDK メソッドで説明されているメソッドを手動で呼び出したときに報告されるデータも含まれます。
ログフィールド
次の表は、ARMS ログに含まれるフィールドについて説明しています。
表 4. 共通フィールド
フィールド | 説明 |
uid | ユーザーの ID。値はユーザーの識別子であり、ユーザーの検索に使用できます。カスタム値を指定できます。このフィールドを設定しない場合、SDK は自動的にユーザーに ID を割り当て、6 か月ごとに ID を更新します。 |
username | ユーザー名。SDK は自動的にユーザーにユーザー名を割り当てません。このフィールドを設定しない場合、空のままになります。 |
release | アプリケーションバージョンの ID。 |
environment | 本番環境。 |
page | ページ。 |
sampling | サンプリングレート。 |
tag | カスタムタグ。 |
表 5. API 呼び出しに関連するフィールド
フィールド | 説明 |
api | パラメータを含まない API 呼び出しの URL。 |
msg | API 呼び出しへのレスポンス文字列。 |
code | HTTP ステータスコード。 |
time | API 呼び出しに費やされた時間。 |
success | API 呼び出しが成功したかどうかを示します。 |
表 6. JS エラーに関連するフィールド
フィールド | 説明 |
msg | エラーメッセージ。 |
stack | エラーが発生したスタック。 |
cate | エラータイプ。有効な値:
|
file | エラーが発生したファイル。 |
line | エラーが発生した行。 |
col | エラーが発生した列。 |
times | エラーが発生した回数。 |
ログの説明
表 7. 多次元分析用ログ
ログタイプ | タイプ | クエリフィールド (共通メトリックフィールドを使用して、すべてのタイプのログをクエリまたはフィルタリングできます) |
PV ログ | PV | onload イベントが発生すると、PV ログがアップロードされ、PV とユニークビジター (UV) が計算されます。 計算方法:
|
パフォーマンスログ | Perf | |
低速ロードログ (ロード時間が 8 秒を超えるパフォーマンスログ) | RES | |
JS エラーログ | Error |
|
API ログ | API |
|
SUM ログ | SUM | カスタムキー: イベント名 (例: scroll-count) |
AVG ログ | AVG | カスタムキー: イベント名 (例: scroll-time) |
リソースエラーログ | ResourceError | リソースエラー |
なし | カスタム | なし 説明
|