コンソールでのパフォーマンス データのモニタリング


リアルタイム パフォーマンス データを確認するには、リアルタイム データ処理と互換性のあるバージョンの Performance Monitoring SDK がアプリで使用されるようにしてください。詳しくは、リアルタイム パフォーマンス データに関する記事をご覧ください。

ダッシュボードで主要な指標を追跡する

主要な指標の傾向を確認するには、[パフォーマンス] ダッシュボードの上部にある指標ボードに追加します。前週比の変化を確認することで、すみやかに回帰を特定できます。また、最近のコード変更でパフォーマンスが改善されたか確認することもできます。

<span class=Firebase Performance Monitoring ダッシュボード" /> の指標ボードの画像

追跡できる傾向の例は以下のとおりです。

  • アプリの起動にブロッキング API 呼び出しを追加したことによるアプリ起動時間の増加。
  • フルサイズ画像のサムネイルへのサイズ変更を実装したことによるネットワーク リクエストのレスポンス ペイロード サイズの減少。
  • エコシステム停止中におけるサードパーティ API 呼び出しのネットワーク成功率の低下。
  • 各アイテムのオフスクリーン処理を最適化した後のリサイクラー ビューのレンダリングが遅いフレームの減少。

Firebase プロジェクトの各メンバーは、独自の指標ボードを構成できます。ユーザーは自身にとって重要な指標を追跡できます。また、他のプロジェクト メンバーはそれぞれ独自のボードで、一連のまったく異なる主要な指標を追跡できます。

指標ボードに指標を追加する手順は次のとおりです。

  1. Firebase コンソールのパフォーマンス ダッシュボードに移動します。
  2. 空の指標カードをクリックし、ボードに追加する既存の指標を選択します。
  3. 入力された指標カードの をクリックすると、指標の置き換えや削除などの詳細オプションが表示されます。

指標ボードには、グラフおよび数値(割合の変化)の形式で、収集された指標データが時系列で表示されます。

  • 各指標カードには、選択した期間における指標の値(割合の変化)と、直近で収集された指標の値が表示されます。指標ボード上部にある説明は、割合の変化についての解釈を示しています。
  • デフォルトでは、指標ボードに指標の 90 パーセンタイル値が表示されます。この値は Android Vitals と一致しています。ユーザー セグメントごとにアプリがどのように動作するかを確認するには、ダッシュボード ページの上部にあるプルダウンから別のパーセンタイルを選択します。
  • 異なるバージョンのアプリがある場合は、あるバージョンの指標値の傾向を他のバージョンと比較できます。また、すべてのバージョンと比較することもできます。グラフの下にあるプルダウンからバージョンを選択します。

赤色、緑色、灰色の意味

ほとんどの指標には望ましい傾向が存在します。指標ボードでは、色を使用して指標のデータの傾向が好ましいものか、悪いものであるかについての解釈を示しています。

たとえば、アプリの起動時間(小さい値であることが望ましい)をトラッキングするとしましょう。この値が増加した場合は、指標ボードに指標の割合の変化が赤色で表示され、問題が発生している可能性があることをユーザーに喚起します。値が減少傾向にある、あるいは変化していない場合は、指標ボードには割合がそれぞれ緑色または灰色で表示されます。

ネットワーク リクエストのレスポンス ペイロード サイズなど、望ましい傾向が明確に指標に表れていない場合、指標ボードにはデータの傾向にかかわらず、指標の割合の変化は常に灰色で表示されます。

実線と点線の意味

  • 濃い青色の実線 - アプリのすべてのバージョンに対する指標の値の経時的な変化。
    この線はアプリのベースラインとみなせます。

  • 明るい緑色の実線 - アプリの特定のバージョンに対する指標の値の経時的な変化。
    デフォルトでは、指標ボードに最新バージョンのデータが表示されます。グラフで別のバージョンを表示するには、グラフの下の最初のプルダウンを使用します。

  • 灰色の実線 - アプリの別のバージョンに対する指標の値の経時的な変化。
    デフォルトでは、指標ボードに 2 つ目のバージョンのデータは表示されません。グラフに 2 つ目のバージョンを表示するには、グラフの下の 2 番目のプルダウンを使用します。

  • 明るい青色の点線 - 過去の特定の時間におけるすべてのバージョンに対する指標の値。
    たとえば、過去 7 日間のグラフを表示して、8 月 30 日にカーソルを合わせると、明るい青色の点線に 8 月 23 日のすべてのバージョンに対する指標の値が表示されます。



トレースとそのデータを表示する

アプリのすべてのトレースは、パフォーマンス ダッシュボードの下部にあるトレース テーブルで確認できます。このテーブルでは、各タイプのトレースが適切なサブタブ内にグループ化されています。たとえば、すべてのネットワーク リクエスト トレースは [ネットワーク リクエスト] サブタブに表示されます。

トレース テーブルには、各トレースの主要な指標の値と、各指標の値の変化率が表示されます。この値は、[ダッシュボード] タブで設定されたパーセンタイルと期間の選択に基づいて計算されます。次に例を示します。

  • パーセンタイルとして [90%] を、期間として [過去 7 日間] を選択した場合、指標の値は、最新の日から収集されたデータの 90 パーセンタイルになり、変化率は、7 日前からの変化になります。
  • また、期間を [過去 24 時間] に変更した場合、指標の値は、最新の時間から収集されたデータの中央値になり、変化率は 24 時間前からの変化になります。

各サブタブのトレースのリストは、指標の値または特定の指標の変化率で並べ替えることができます。これにより、アプリの潜在的な問題をすばやく特定できます。

特定のトレースの指標とデータをすべて表示するには、トレース テーブル内のトレース名をクリックします。このページの次のセクションで詳細を説明します。

特定のトレースのデータをさらに表示する

Performance Monitoring により、Firebase コンソールのトラブルシューティング ページに指標の変更がハイライト表示されます。これにより、アプリとユーザーに対するパフォーマンス問題の影響をすばやく把握し、影響を最小限に抑えることができます。トラブルシューティング ページは、潜在的なパフォーマンス問題を確認する際に使用できます。たとえば、次のように使用します。

  • ダッシュボードで関連する指標を選択して差分を確認します。
  • トレース テーブルで、差分の最も大きいものが先頭に表示されるように並べ替えると、割合の変化が大きい箇所を確認できます。
  • パフォーマンスの問題を通知するメール通知アラートが届きます。

トラブルシューティング ページには次の方法でアクセスできます。

  • 指標ダッシュボードで、[指標の詳細を表示] ボタンをクリックします。
  • いずれかの指標カードで、 => [詳細を表示] を選択します。選択した指標に関する情報がトラブルシューティング ページに表示されます。
  • トレース テーブルで、トレースに関連付けられた行にあるトレース名または指標値をクリックします。
  • メール通知アラートで、[今すぐ調査] をクリックします。

トレース テーブルでトレース名をクリックすると、目的の指標にドリルダウンできます。[フィルタ] ボタンをクリックして、データを属性でフィルタします。次に例を示します。

<span class= 属性でフィルタされた Firebase Performance Monitoring データ" /> の画像
  • 過去のリリースや最新のリリースに関するデータを表示するには、[アプリのバージョン] でフィルタします
  • 古いデバイスにおけるアプリの処理方法を確認するには、[デバイス] でフィルタします
  • データベースのロケーションが特定のリージョンに影響していないことを確認するには、[国] でフィルタします

トレースで収集されたすべての指標を表示する

トレースをクリックすると、目的の指標にドリルダウンできます。

  • ネットワーク リクエスト トレース - 使用できる指標タブは、レスポンス時間、レスポンス ペイロード サイズ、リクエスト ペイロード サイズ、成功率です。
  • アプリの起動、フォアグラウンド アプリ、バックグラウンド アプリ、カスタムコードのトレース - [期間] 指標タブを常に使用できます(このタイプのトレースのデフォルト指標)。カスタムコード トレースについては、カスタム指標をトレースに追加した場合、それらの指標タブも表示されます。
  • 画面レンダリング トレース - 利用できる指標タブは、遅いレンダリングとフリーズしたフレームです。

選択した指標のパフォーマンス サマリーは、指標タブのすぐ下に表示されます。これには、指標の推移についての簡単な要約と、選択した期間全体のデータの分布を可視化したグラフが含まれます。

<span class=Firebase Performance Monitoring のエラーコードの内訳" /> の画像

たとえば、選択した指標がネットワーク成功率である場合、グラフには、すべてのエラーコードと、各エラーコードの全エラー レスポンスに占める割合(Firebase コンソールで除外されるエラーコードを含む)が表示されます。

データに関する詳細情報を表示する

属性によってデータをフィルタしてセグメント化できます。また、クリックして、アプリの利用状況に関するセッションのコンテキストでデータを確認することもできます。

たとえば、最近のネットワーク レスポンス時間が遅い理由や、国がパフォーマンスに影響しているかどうかを把握するには、次の手順を行います。

  1. 属性のプルダウンから [] を選択します。
  2. テーブルを最新の値で並べ替えると、ネットワーク レスポンス時間に与える影響が最も大きい国を確認できます。
  3. 値が最も大きい国を選択して、グラフにプロットします。グラフのタイムラインにカーソルを合わせると、ネットワークのレスポンスが遅い国を確認できます。
  4. 特定の国に起因するネットワーク レスポンスの問題をさらに詳しく調査するには、その国用のフィルタを追加して、他の属性(無線の種類やデバイスなど)の調査を続けます。



ユーザー セッションに関する詳細情報を表示する

Performance Monitoring では、アプリがフォアグラウンドで動作している期間であるユーザー セッションのレポートも表示できます。これらのレポートは、特定のトレースに関連付けられ、同じセッション中に Performance Monitoring が収集した他のトレースのタイムライン コンテキストでトレースを表示します。

たとえば、カスタムコード トレースを、開始した順序でそれぞれの期間とともに表示できます。また、このとき同時に発生したネットワーク リクエスト トレースを確認することもできます。

コンソールに、これらのユーザー セッションのランダムなサンプルが表示されます。Apple アプリと Android アプリ、画面レンダリング トレース以外のすべてのタイプのトレースで使用できます。

ユーザー セッションに関して表示できるデータには、他にも次のようなものがあります。

<span class=Firebase Performance Monitoring のセッション ページ" /> の画像
  • トレースに関する情報: 開始時間、終了時間、属性(デバイスや国など)、そのタイプの指標の適用可能な指標など、そのセッションのトレースの詳細情報トレース(カスタムコード トレースの所要時間やネットワーク リクエスト トレースの応答時間など)。
  • CPU: セッション中にアプリが消費したユーザー時間とシステム時間
  • メモリ: セッション中にアプリが使用したヒープメモリの量。

セッション データを表示する方法

  1. Firebase コンソールのパフォーマンス ダッシュボードに移動し、トレース テーブルまで下にスクロールして、目的のトレースのサブタブをクリックします。
  2. テーブルにあるトレース名をクリックして、利用できるすべての指標を表示します。
  3. 指定したトレースのセッション データを表示するには、[すべてのセッションを表示] をクリックします。
  4. 選択した指標の属性値に関連付けられたセッションを表示するには、目的の行の上にカーソルを置き、その行の右端の列に表示された [セッション] テキストをクリックします。
<span class=セッションへのリンクが表示された Firebase Performance Monitoring トレース" /> の画像

パーセンタイルによるセッションのフィルタリング

セッションは、各指標のパーセンタイルに分散されます。パーセンタイル範囲が低いセッションは、パーセンタイル範囲が高いセッションよりも指標の値が低くなります。

使用可能なセッションをパーセンタイルでフィルタするには、セッションの詳細の上部にあるパーセンタイルのプルダウンを使用するか、グラフのハンドルをドラッグします。

<span class=Firebase Performance Monitoring セッション ページ" /> の画像