画面レンダリングのパフォーマンス データについて学ぶ(Apple アプリと Android アプリ)


Performance Monitoring は、トレースを使用してアプリ内のモニタリング プロセスに関するデータを収集します。トレースとは、アプリ内の 2 つの時点の間でキャプチャされたデータを含むレポートです。

Apple アプリと Android アプリの場合は、Performance Monitoring によってにアプリ内の異なる画面のレンダリング パフォーマンスが自動的に測定されます。Performance Monitoring は、アプリの画面ごとに画面レンダリング トレースを作成します。これらのトレースは、次の指標を収集して測定します。

アプリのフレームの遅延やフリーズが、デバイスのパフォーマンスの低下(ジャンクまたは遅延)につながる可能性があります。フリーズしたフレームと遅いレンダリング フレーム指標をキャプチャすることで、パフォーマンスの低い画面を特定でき、アプリのレンダリング パフォーマンスの改善につながります。

画面レンダリング トレースのデータは、トレース テーブルの [画面レンダリング] タブで確認できます。トレース テーブルは、Firebase コンソールの [パフォーマンス] ページの下部にあります。詳細については、パフォーマンス データの追跡、表示、フィルタリングをご覧ください。

画面レンダリング トレースによって収集される指標

これらのトレースは事前構成済みのトレースであるため、カスタム指標やカスタム属性は追加できません。

レンダリングが遅いフレームとフリーズしたフレームは、想定される 60 Hz のデバイス リフレッシュ レートで計算されます。デバイスのリフレッシュ レートが 60 Hz 未満の場合は、1 秒間にレンダリングされるフレームが少なくなるため、各フレームでレンダリング時間が長くなります。レンダリング時間が長くなると、レンダリングが遅くなるフレームやフリーズするフレームが多くなるため、遅いフレームやフリーズしたフレームの報告が増えます。ただし、デバイスのリフレッシュ レートが 60 Hz を超える場合は、各フレームでレンダリング時間が短くなります。これにより、遅いフレームやフリーズしたフレームが報告される回数が少なくなります。これは、Performance Monitoring SDK の現在の制限です。

レンダリングが遅いフレーム

この指標は、特定の画面でレンダリングが著しく遅くなっているユーザー セッションの割合です。具体的には、この指標はレンダリングに 16 ms を超える時間を要したフレームが 50% を上回る画面インスタンスの割合です。

フリーズしたフレーム

この指標は、特定の画面で著しくフリーズしたフレームがあるユーザー セッションの割合です。具体的には、この指標はレンダリングに 700 ms を超える時間を要したフレームが 0.1% を上回る画面インスタンスの割合です。

画面レンダリング トレースの生成方法

  • アプリが viewDidAppear: を呼び出すと、keyWindow 内のすべての UIViewController について開始されます。

  • アプリが viewDidDisappear: を呼び出すと停止します。

画面レンダリング トレースは、正規のコンテナビュー コントローラをキャプチャしません。

パフォーマンス データの追跡、表示、フィルタリング

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

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

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

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

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

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

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

ダッシュボードの使用で詳細をご確認ください。

コンソールで画面のパフォーマンスを確認する

トレースを表示するには、Firebase コンソールのパフォーマンス ダッシュボードに移動し、トレース テーブルまで下にスクロールして、適切なサブタブをクリックします。テーブルには、各トレースの主要な指標が表示されます。また、特定の指標の変化率でリストを並べ替えることもできます。

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

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

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

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

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

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

詳細については、トレースのデータを表示するをご覧ください。

次のステップ