アプリ起動、フォアグラウンド アプリ、バックグラウンド アプリのパフォーマンス データについて学ぶ(Apple アプリと Android アプリ)

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

Apple アプリと Android アプリの場合は、Performance Monitoring によってアプリのライフサイクルに関連する複数のトレースが自動的に収集されます。これらのトレースはすべて、プロセスの実行に要する時間(所要時間)を測定するタイマーのようなものです。

これらのトレースでは「所要時間」の指標のみが収集されるため、「所要時間トレース」と呼ばれることもあります。

これらのトレースのデータは、パフォーマンス ダッシュボードの下部にあるトレース テーブルの [カスタム トレース] サブタブで表示できます(このページの後半で、コンソールの使用をご覧ください)。

各トレースの定義

Performance Monitoring は、アプリのメソッド呼び出しと通知を使用して各タイプのトレースの開始と停止を判断します。これらのトレースはすべて、プロセスの実行に要する時間を測定するタイマーのようなものです。

アプリ起動トレース

このトレースでは、ユーザーがアプリを開いてからアプリが応答するまでの時間を測定します。コンソールでは、トレース名は _app_start です。このトレースで収集される指標は「所要時間」です。

  • アプリケーションが最初の Object をメモリにロードすると開始します。

  • アプリケーションが UIApplicationDidBecomeActiveNotification 通知を受信した後に発生する、最初の正常な実行ループの後に停止します。

フォアグラウンド アプリのトレース

このトレースでは、アプリがフォアグラウンドで実行され、ユーザーが利用できる時間を測定します。コンソールでは、トレース名は _app_in_foreground です。このトレースで収集される指標は「所要時間」です。

  • アプリケーションが UIApplicationDidBecomeActiveNotification 通知を受け取ると開始します。

  • UIApplicationWillResignActiveNotification 通知を受け取ると停止します。

バックグラウンド アプリのトレース

このトレースでは、アプリがバックグラウンドで実行されている時間を測定します。コンソールでは、トレース名は _app_in_background です。このトレースで報告される指標は「所要時間」です。

  • アプリケーションが UIApplicationWillResignActiveNotification 通知を受け取ると開始します。

  • UIApplicationDidBecomeActiveNotification 通知を受け取ると停止します。

これらのトレースで収集される指標

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

これらのトレースはすべて、モニタリング対象のプロセスの実行に要する時間を測定するタイマーのようなものです。この収集された指標の名前は「所要時間」です。

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

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

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

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

Firebase Performance Monitoring ダッシュボードの指標ボードの画像

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

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

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

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

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

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

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

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

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

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

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

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

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

次のステップ

  • パフォーマンス データを調査することを目的とする属性の使用について、詳しく確認する。

  • Firebase コンソールでパフォーマンスの問題を追跡する方法を学習する。

  • アプリのパフォーマンスを低下させるコード変更に関するアラートを設定する。たとえば、アプリ起動時間が設定したしきい値を超えた場合に、チームに送信するメール通知アラートを構成できます。

  • 同じセッション中に収集された他のトレースのタイムライン コンテキストで特定のトレースを表示できるユーザー セッションの詳細レポートを表示する。