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

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

AppleおよびAndroidアプリの場合、パフォーマンスモニタリングは、アプリのライフサイクルに関連するいくつかのトレースを自動的に収集します。これらのトレースはすべて、プロセスの実行にかかる時間(「期間」)を測定するため、タイマーのようなものです。

これらのトレースはメトリック「期間」のみを収集するため、「期間トレース」と呼ばれることもあります。

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

各トレースの定義

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

アプリ開始トレース

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

  • アプリのFirebasePerfProviderContentProviderメソッドを完了したときに開始しonCreate

  • 最初のアクティビティのonResume()メソッドが呼び出されたときに停止します。

アプリがアクティビティ(サービスやブロードキャストレシーバーなど)によってコールドスタートされなかった場合、トレースは生成されないことに注意してください。

App-in-foregroundトレース

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

  • フォアグラウンドに到達する最初のアクティビティでonResume()メソッドが呼び出されたときに開始します。

  • フォアグラウンドを離れる最後のアクティビティでonStop()メソッドが呼び出されると停止します。

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

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

  • フォアグラウンドを離れる最後のアクティビティでonStop()メソッドが呼び出されたときに開始します。

  • フォアグラウンドに到達する最初のアクティビティでonResume()メソッドが呼び出されると停止します。

これらのトレースによって収集されたメトリック

これらのトレースはすぐに使用できるトレースであるため、カスタムメトリックまたはカスタム属性を追加することはできません。

これらのトレースはすべて、監視対象プロセスの実行にかかる時間を測定するため、タイマーのようなものです。この収集されたメトリックの名前は「期間」と呼ばれます。

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

リアルタイムのパフォーマンスデータを表示するには、アプリがリアルタイムのデータ処理と互換性のあるPerformanceMonitoringSDKバージョンを使用していることを確認してください。リアルタイムのパフォーマンスデータの詳細をご覧ください

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

主要な指標がどのようにトレンドになっているのかを知るには、パフォーマンスダッシュボードの上部にある指標ボードにそれらを追加します。週ごとの変更を確認するか、コードの最近の変更によってパフォーマンスが向上していることを確認することで、リグレッションをすばやく特定できます。

FirebasePerformanceMonitoringダッシュボードの指標ボードの画像

メトリックボードにメトリックを追加するには、次の手順に従います。

  1. Firebaseコンソールのパフォーマンスダッシュボードに移動します。
  2. 空のメトリックカードをクリックしてから、既存のメトリックを選択してボードに追加します。
  3. メトリックを置き換えたり削除したりするなどのオプションについては、入力されたメトリックカードのをクリックしてください。

メトリックボードには、収集されたメトリックデータが、グラフ形式と数値のパーセンテージ変化の両方で表示されます。

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

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

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

Performance Monitoringは、Firebaseコンソールにメトリックの変更を強調表示するトラブルシューティングページを提供し、アプリやユーザーへのパフォーマンスの問題の影響をすばやく簡単に解決して最小限に抑えることができます。次のシナリオなど、潜在的なパフォーマンスの問題について学習する場合は、トラブルシューティングページを使用できます。

  • ダッシュボードで関連するメトリックを選択すると、大きなデルタに気づきます。
  • トレーステーブルで並べ替えると、最大のデルタが上部に表示され、大幅なパーセンテージの変化が見られます。
  • パフォーマンスの問題を通知する電子メールアラートを受け取ります。

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

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

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

属性でフィルタリングされているFirebasePerformanceMonitoringデータの画像
  • アプリのバージョンでフィルタリングして、過去のリリースまたは最新のリリースに関するデータを表示します
  • デバイスでフィルタリングして、古いデバイスがアプリをどのように処理するかを確認します
  • でフィルタリングして、データベースの場所が特定の地域に影響を与えていないことを確認します

トレースのデータの表示の詳細をご覧ください

次のステップ

  • 属性を使用してパフォーマンスデータを調べる方法の詳細をご覧ください。

  • Firebaseコンソールでパフォーマンスの問題を追跡する方法の詳細をご覧ください。

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

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