Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート
メインコンテンツへスキップ
Vega App KPI Visualizerは、ユーザーエクスペリエンスに影響を与える重要な指標を測定することにより、アプリのパフォーマンスのモニタリングと最適化をサポートします。このツールは、アプリの起動時間、メモリ使用量、ユーザーインターフェイス(UI)の応答性に関するデータを提供します。これらのKPIを定期的にトラッキングすると、アプリはユーザーの期待に応えるスムーズで応答性の高いエクスペリエンスを提供できます。App Storeにアプリを公開する前に、リリースバリアントのパフォーマンスを測定して、ユーザーエクスペリエンスの応答性が高いことを確認してください。 このページでは、次の方法について説明します。
  • KPI Visualizerの使用
  • アプリの主要業績評価指標の測定と理解
  • 測定のセットアップ
  • 結果の解釈

前提条件

Vega App KPI Visualizerを使用する前に、次のことを確認してください。
  1. VegaパフォーマンスAPIモジュールをインストールします。
  2. 次のセクションに目を通してください。
  3. フォアグラウンドメモリ、ビデオの滑らかさ、またはUIの滑らかさを測定するには、滑らかさとフォアグラウンドメモリの測定の手順に従ってください。
  4. 測定方法を選択します。

アプリのKPI指標とガイドライン

次の表は、主なKPIとそれに関連するマイクロKPIの両方を示しています。メインKPIは全体的なパフォーマンス指標を測定し、マイクロKPIはメインKPIに寄与する特定の測定可能なコンポーネントを表します。 たとえば、Application JavaScript bundle load timeは、描画完了までの時間(TTFD)のKPI全体に影響するマクロKPIです。空のマイクロKPIセルは、そのメインKPIについて現在特定のサブコンポーネントが測定されていないことを示しています。

起動シナリオ

KPI Visualizerは、TTFFとTTFDのパフォーマンスを評価するために、次の2種類のアプリ起動シナリオを測定します。
  • クールスタート - ユーザーが初めてアプリを起動し、システムがすべてのリソースと依存関係をメモリに読み込むとき。
  • ウォームスタート - 一部のリソースと依存関係がすでにメモリにある状態で、ユーザーがアプリをバックグラウンド(非アクティブ状態)からフォアグラウンド(アクティブ状態)に移行するとき。

描画完了マーカー

描画完了マーカーは、アプリがユーザー操作を受け付けられる状態になったことを知らせます。マーカーは以下の役割を果たします。
  • アプリの必須コンポーネントの読み込みが完了したことを示す。
  • ユーザーがアプリの操作を開始できるタイミングを示す。
  • TTFDパフォーマンスの測定に役立つ。
描画完了マーカーをアプリに実装するには:
  1. useReportFullyDrawnフックをアプリに追加します。
  2. 次のキーポイントにマーカーを配置します。
    • クールスタート - 初期データを読み込んでメイン画面をレンダリングした後。
    • ウォームスタート - フォアグラウンド移行後にアプリが応答可能になったとき。
次のコードサンプルは、描画完了マーカーを追加する方法を示しています。

VS CodeでのKPIの測定

手順1:VS Codeでコマンドパレットを開く

  • Macの場合:Shift+Command ⌘+P
  • Linuxの場合:Ctrl+Shift+P
コマンドパレットから [Vega: Launch App KPI Visualizer] を選択している画面のスクリーンショット。

手順2:「Vega: Launch App KPI Visualizer」と入力してEnterを押す

[App Performance Tools] メニューにある [App KPI Visualizer] オプションの場所を示すスクリーンショット。 [Vega Studio] パネルから [App KPI Visualizer] を選択することもできます。

手順3:ユースケースを選択する

チェックボックス付きのユースケースの一覧を示すスクリーンショット。目的のユースケースを選択するように求められています。 フォアグラウンドメモリとビデオストリーミングの滑らかさを測定するには、ユーザーによるアプリの操作方法に合わせたカスタムテストシナリオを作成します。 以下に例を示します。
  • メモリテスト用 - ビデオ再生または画像読み込みを含めます。
  • ストリーミング用 - 一般的なビデオ視聴パターンを含めます。
UIの滑らかさを測定するには、アプリで特に多く実行されるユーザー操作を再現するテストシナリオを開発してください。カスタムシナリオがない場合、デフォルトのテストではアプリのフロントページを縦横にスクロールする操作が使用されますが、これはユーザーの行動を正確に反映していない可能性があります。 テストシナリオの生成に関するガイダンスについては、滑らかさとフォアグラウンドメモリの測定を参照してください。 ユースケースを選択すると、Visualizerが起動し、次のKPI測定が3回繰り返されます。

クールスタートKPI

  • デバイス上でテストアプリを起動します。
  • テストアプリが完全に読み込まれるまで10秒間待ちます。
  • テストアプリを閉じます。
  • KPIを処理します。

ウォームスタートKPI

  • デバイス上でテストアプリを起動します。
  • デバイス上で別のアプリを起動して、テストアプリをバックグラウンドに移行させます。
  • テストアプリを起動して、フォアグラウンドに移動します。
  • テストアプリが完全に読み込まれるまで15秒間待ちます。
  • テストアプリを閉じます。
  • KPIを処理します。

フォアグラウンドメモリKPI

  • デバイス上でテストアプリを起動します。
  • テストシナリオに指定されている手順を実行し、分析とレポートのためにKPIをキャプチャします。
  • テストアプリを閉じます。
  • KPIを処理します。

バックグラウンドメモリKPI

  • デバイス上でテストアプリを起動します。
  • デバイス上で別のアプリを起動して、テストアプリをバックグラウンドに移行させます。
  • テストアプリのKPIが収集されるまで15秒間待ちます。
  • テストアプリを閉じます。
  • KPIを処理します。

UIの滑らかさKPI

  • デバイス上でテストアプリを起動します。
  • テスト方法を選択します。
    • カスタムテスト - 独自のUI操作シナリオを使用する
    • デフォルトテスト - 標準のスクロールパターンを使用する
      • 横スクロール2セット(左5回、右5回)
      • 縦スクロール2セット(下5回、上5回)
      • アクション間隔900ミリ秒
  • [Cancel] ボタンをクリックするか、Escキーを押してテストを終了します。 カスタムテストシナリオを使用するかどうかをたずねるポップアップのスクリーンショット。[Yes] ボタンをクリックできます。
  • 分析とレポートのためにKPIをキャプチャします。
  • テストアプリを閉じます。
  • KPIを処理します。

ビデオ再生の滑らかさKPI

  • デバイス上でテストアプリを起動します。
  • ビデオ再生テストシナリオに指定されている手順を実行し、分析とレポートのためにKPIをキャプチャします。
  • テストアプリを閉じます。
  • KPIを処理します。
視覚化プロセスを停止するには、[Cancel] をクリックします。 KPI Visualizerが実行中であることを示すメッセージのスクリーンショット。

手順4:テスト中のトレースロスを無視するかどうかを選択する

トレースロスを無視してKPIレポートファイルの生成を続行するかどうかをたずねるメッセージのスクリーンショット。トレースロスを無視することを選択できます。 アプリにパフォーマンス上の問題があると、トレースが大幅に失われる可能性があります。Vega App KPI Visualizerはトレースを読み込まず、レポートにKPIを表示しなくなります(N/Aと表示)。 KPIレポートを生成して指標を表示するときに、トレースロスを無視するかどうかを選択できます。ただし、トレースロスを無視すると、実際のパフォーマンスよりも優れたKPI値が生成されます。

手順5:VisualizerのウィンドウでKPIスコアを確認する

ウィンドウには、3回のテストから計算されたp90(90パーセンタイル)値が表示されます。

手順6:結果を評価する

結果を評価するには、パフォーマンスレポートの理解を参照してください。

CLIコマンドによるKPIの測定

  1. コマンドプロンプトでvega exec perf doctorコマンドを実行して、ホストとターゲットデバイスの準備が整っているかどうかを確認します。
    --app-nameには、manifest.tomlファイルから取得したパッケージIDを指定します。複数のデバイス(Vega仮想デバイスを含む)が実行されている場合は、perfコマンドで--device-serial-numberパラメーターを使用して、デバイスのシリアル番号を指定します。 1つのデバイスのみが接続されている場合の例:
    複数のデバイスが接続されている場合の例:
  2. Vega App KPI Visualizerを起動します。
    kpi-visualizerでは、app-nameが唯一の必須パラメーターです。[app-name]をmanifest.tomlファイルにあるデフォルトの対話型コンポーネントのIDに置き換えます。
  3. (任意)デフォルトの反復回数を指定します。デフォルトの反復回数は –certificationを使用する場合は3または30。
  4. (任意)測定するKPIを指定します。
    このパラメーターがない場合、VisualizerはクールスタートのTTFFとTTFD KPIをデフォルトで測定します。
  5. 利用可能なすべてのオプションを表示します。
    例:(注:画面の出力に関する日本語表記は説明のために提供しています。実際には英語で表示されます。)
視覚化が完了すると、stdoutにレポートの概要が表示されます。 レポートの例:
KPIに-1と表示されている場合は、平均値、最小値、最大値のデータがないことを示しています。TTFDでは、描画完了を報告するAPIをアプリが呼び出さない場合に、この現象が発生することがあります。 KPIが表示されない場合、データ収集中にトレースが大幅に失われた可能性があります。KPI Visualizerはトレースを読み込まず、KPIも表示されません。トレースが失われた場合でもKPIを表示するには、以下を実行します。

パフォーマンスレポートの理解

Vega App KPI Visualizerには、以下を含むパフォーマンスレポートが表示されます。
  1. Test information
    • Date - システムがKPIデータをキャプチャした日付。
    • Device Serial ID - アプリを実行しているデバイスの一意の識別子。
    • App - KPIデータが表示されるアプリの名前。
    • Number of iterations - KPI測定プロセスが実行された回数。
  2. KPI Name - KPIの名前と単位。
  3. Test Name - テストまたは実行されたユースケースの名前。
  4. KPI Health - 各KPIの健全性を示す色分け表示。
    • 🟢(緑)- 推奨ガイドラインを満たしている
    • 🟡(黄色)- ガイドラインの10%以内
    • 🔴(赤)- ガイドラインを10%超過
  5. KPI Score - KPIの数値。KPI名に指定されている単位で表されます。VisualizerでKPIを計算できない場合、KPIスコアは「N/A」と表示され、KPIの健全性は「Unknown」と表示されます。
  6. Guideline - 推奨されるKPIスコアの値または範囲。業界標準または業績目標に基づきます。

結果の例

以下の画像は、各ユースケースの結果のサンプルを示しています。ガイドラインに関連するKPIの健全性指標とスコアに注目してください。

ユースケース:クールスタート時のTTFFとTTFD

以下の結果は起動パフォーマンス指標を示しています。赤いインジケーターは、アプリが起動時間のガイドラインを超過していることを示します。 クールスタート時のTTFFとTTFDのパフォーマンスレポートを示すスクリーンショット。

ユースケース:ウォームスタート時のTTFFとTTFD

以下の結果は、アプリがバックグラウンド状態から再開する際の状況を示しています。TTFFとTTFDの時間を比較して、最適化の必要性を評価してください。 ウォームスタート時のTTFFとTTFDのパフォーマンスレポートを示すスクリーンショット。

ユースケース:フォアグラウンドメモリ

アクティブに使用中のアプリのメモリ使用量を表示します。この指標をモニタリングして、メモリを過剰に消費することによるパフォーマンスの問題を回避してください。 フォアグラウンドメモリのパフォーマンスレポートを示すスクリーンショット。

ユースケース:バックグラウンドメモリ

バックグラウンド状態でのアプリのメモリ使用量を表示します。非アクティブ状態のアプリがシステムリソースに与える影響を理解するうえで重要です。 バックグラウンドメモリのパフォーマンスレポートを示すスクリーンショット。

ユースケース:UIの滑らかさ

アプリがユーザー操作をどの程度スムーズに処理できるかを示します。パーセンテージは、スクロールおよびナビゲーション中に正常にレンダリングされたフレームを示します。 UIの滑らかさのパフォーマンスレポートを示すスクリーンショット。

ユースケース:ビデオ再生の滑らかさ

アプリがビデオコンテンツをどれだけスムーズに再生するかを示します。パーセンテージは、意図した再生レートでのフレーム配信が成功したことを示します。このシナリオには、メディアプレーヤーと入力イベントのマイクロKPIも含まれます。 ビデオ再生の滑らかさのパフォーマンスレポートを示すスクリーンショット。

KPIレポートを開く

Vega App KPI Visualizerがテストシナリオを完了すると、以下のレポートファイルが生成されます。
  • aggregated-kpi-report-<タイムスタンプ>.json - すべてのテストシナリオのKPIデータを統合する。
  • <テスト名>-kpi-report-<タイムスタンプ>.json - 個々のテストシナリオごとに1つのファイルを作成する。<テスト名> は特定のシナリオを表します。
<タイムスタンプ> は、Vega App KPI Visualizerがレポートを生成した日時を示します。 KPIレポートを開くには、以前の記録を開きます。次に、次のいずれかの方法を使用します。

オプション1(推奨):クイックオープンを使用する

この方法では、VS CodeのインターフェイスまたはCLIから記録にアクセスできます。

VS Codeの場合

  1. KPIレポートファイル(例:app-launch-kpi-report-[timestamp].json)を、VS Codeクイックオープンを使用して、またはプロジェクトのgeneratedディレクトリで見つけます。
  2. ファイルを1回クリックしてプレビューするか、2回クリックしてアクティブモードで開きます。

CLIの場合

  1. ターミナルウィンドウを開き、次のように入力します。
    ターミナルでcodeコマンドが認識されない場合は、VS Codeコマンドパレットを開きます。
    • Mac:Cmd+Shift+P
    • Linux:Ctrl+Shift+P
  2. 「Shell Command: Install code command in PATH」を実行します。
  3. コマンドを再試行します。

オプション2:VS Codeコマンドパレットを使用する

この方法では、VS Codeに組み込みのコマンドインターフェイスを使用して記録にアクセスできます。また、クイックオープンを利用できない場合にも使用できます。
  1. VS Codeを開きます。
  2. コマンドパレットを開きます。
    • Mac:Cmd+Shift+P
    • Linux:Ctrl+Shift+P
  3. 「Vega: Open Recording View」と入力します。
  4. app-launch-kpi-report-[timestamp].jsonなど、開くファイルを選択します。

関連トピック


最終更新日 2026年10月26日