Performance Monitoring は、トレースを使用して、アプリ内の監視対象プロセスに関するデータを収集します。トレースは、アプリ内の 2 つの時点の間でキャプチャされたデータを含むレポートです。
Apple および Android アプリの場合、Performance Monitoring は、アプリケーションのさまざまな画面のレンダリング パフォーマンスを自動的に測定します。 Performance Monitoring は、アプリケーション内のすべての画面の画面レンダリング トレースを作成します。これらのトレースは、次のメトリックを収集して測定します。
遅いレンダリング フレーム— レンダリングに 16 ミリ秒以上かかるスクリーン インスタンスの割合を測定します。
フリーズ フレーム— レンダリングに 700 ミリ秒以上かかるスクリーン インスタンスの割合を測定します。
アプリケーションのフレームが遅いまたはフリーズすると、ジャンクまたはラグとも呼ばれるデバイスのパフォーマンスが低下する可能性があります。フリーズしたレンダリング フレームのメトリクスを取得すると、パフォーマンスの低い画面を特定し、アプリケーションのレンダリング パフォーマンスを向上させることができます。
トレース テーブルの [画面レンダリング] タブで、画面レンダリング トレースのデータを表示できます。トレース テーブルは、 Firebase コンソールの [パフォーマンス] ページの下部にあります。詳細については、「パフォーマンス データの追跡、表示、およびフィルター処理」を参照してください。
画面レンダリング トレースによって収集された指標
これらのトレースはすぐに使用できるトレースであるため、カスタム メトリックまたはカスタム属性を追加することはできません。
スロー レンダリング フレームとフリーズ フレームは、デバイスのリフレッシュ レートを 60Hz と想定して計算されています。デバイスのリフレッシュ レートが 60 Hz より低い場合、1 秒あたりのレンダリング フレーム数が少なくなるため、各フレームのレンダリング時間が遅くなります。レンダリング時間が遅くなると、より多くのフレームがより遅くレンダリングされるかフリーズするため、より多くの遅いフレームまたはフリーズしたフレームが報告される可能性があります。ただし、デバイスのリフレッシュ レートが 60Hz よりも高い場合、各フレームのレンダリング時間は速くなります。これにより、報告される低速フレームまたはフリーズ フレームが少なくなる可能性があります。これは、Performance Monitoring SDK の現在の制限です。
遅いレンダリング フレーム
このメトリクスは、特定の画面でレンダリングの大幅な遅延が発生したユーザー セッションの割合です。具体的には、このメトリックは、フレームの 50% 以上がレンダリングに 16 ミリ秒以上かかったスクリーン インスタンスの割合です。
冷凍フレーム
このメトリックは、特定の画面で顕著な量のフリーズ フレームが発生したユーザー セッションの割合です。具体的には、このメトリックは、フレームの 0.1% 以上がレンダリングに 700 ミリ秒以上かかったスクリーン インスタンスの割合です。
画面レンダリング トレースはどのように生成されますか?
アプリが
viewDidAppear:
を呼び出すと、keyWindow 内のすべての UIViewController に対して開始されます。アプリが
viewDidDisappear:
を呼び出すと停止します。
画面レンダリング トレースは、正規のコンテナー ビュー コントローラーをキャプチャしないことに注意してください。
パフォーマンス データの追跡、表示、フィルタリング
リアルタイムのパフォーマンス データを表示するには、アプリがリアルタイム データ処理と互換性のある Performance Monitoring SDK バージョンを使用していることを確認してください。リアルタイムのパフォーマンス データについて詳しくは、こちらをご覧ください。
ダッシュボードで主要な指標を追跡する
主要な指標の傾向を知るには、パフォーマンスダッシュボードの上部にある指標ボードに追加します。週ごとの変更を確認することでリグレッションをすばやく特定したり、コードの最近の変更によってパフォーマンスが向上していることを確認したりできます。

メトリクス ボードにメトリクスを追加するには、次の手順に従います。
- Firebase コンソールのパフォーマンスダッシュボードに移動します。
- 空のメトリック カードをクリックし、既存のメトリックを選択してボードに追加します。
- メトリックの置換や削除など、その他のオプションについては、入力済みのメトリック カードで をクリックします。
メトリクス ボードには、収集されたメトリクス データが経時的にグラフ形式と数値の変化率の両方で表示されます。
ダッシュボードの使用について詳しくは、こちらをご覧ください。
コンソールで画面のパフォーマンスを表示する
トレースを表示するには、Firebase コンソールのパフォーマンスダッシュボードに移動し、トレース テーブルまで下にスクロールしてから、適切なサブタブをクリックします。テーブルには、各トレースのいくつかの上位メトリックが表示され、特定のメトリックの変化率でリストを並べ替えることもできます.
Performance Monitoring は Firebase コンソールのトラブルシューティング ページを提供し、メトリックの変化を強調表示するため、アプリやユーザーに対するパフォーマンスの問題に迅速に対処し、影響を最小限に抑えることが容易になります。たとえば、次のシナリオで、潜在的なパフォーマンスの問題について学習したときに、トラブルシューティング ページを使用できます。
- ダッシュボードで関連する指標を選択すると、大きな差があることに気付きます。
- トレース テーブルで、最大のデルタを一番上に表示するように並べ替えると、大幅な変化率が表示されます。
- パフォーマンスの問題を通知する電子メール アラートを受け取ります。
トラブルシューティング ページには、次の方法でアクセスできます。
- メトリック ダッシュボードで、[メトリックの詳細を表示] ボタンをクリックします。
- 任意の指標カードで、 => 詳細を表示を選択します。トラブルシューティング ページには、選択したメトリックに関する情報が表示されます。
- トレース テーブルで、トレース名またはそのトレースに関連付けられている行のメトリック値をクリックします。
- 電子メール アラートで、[今すぐ調査] をクリックします。
トレース テーブルでトレース名をクリックすると、関心のあるメトリックにドリルダウンできます。 [フィルター
] ボタンをクリックして、属性別にデータをフィルター処理します。次に例を示します。
- アプリのバージョンでフィルターして、過去のリリースまたは最新のリリースに関するデータを表示します
- デバイスでフィルタリングして、古いデバイスがアプリをどのように処理するかを確認します
- 国でフィルター処理して、データベースの場所が特定の地域に影響していないことを確認します
トレースのデータの表示について詳しくは、こちらをご覧ください。
次のステップ
属性を使用してパフォーマンス データを調べる方法について詳しくは、こちらをご覧ください。
Firebase コンソールでパフォーマンスの問題を追跡する方法の詳細をご覧ください。