パフォーマンスの問題に関するアラートを設定する

コードの変更やネットワークリクエストによってアプリのパフォーマンスが低下している場合は、パフォーマンスモニタリングアラートを使用してプロジェクトメンバーに通知します。

アプリのアラートを設定およびカスタマイズして、イベントのパフォーマンスが設定されたしきい値を超えたときに通知することができます。

何がアラートをトリガーしますか?

アプリの指標が、Firebaseコンソールで指定されたパーセンタイル(該当する場合)に対して定義したしきい値を超えると、アラートがトリガーされます。アラートは、アプリがリアルタイム互換のSDKバージョンを使用している場合にのみトリガーされます。

アプリの開始時間

アプリの開始時間にアラートを設定すると、次のすべての条件が当てはまる場合にアラートがトリガーされます。

  • Firebaseは、過去1時間にアプリの最新バージョンの_app_startトレースのサンプルを少なくとも100個記録しました。
  • _app_startトレースの期間が、過去1時間および構成されたパーセンタイルで、アプリの定義されたしきい値を超えました。
  • アプリの最新バージョンでは、同じしきい値に対して以前に発生したアラートはありませんでした。

カスタムコードトレース

カスタムコードトレースメトリックのアラートを構成すると、次のすべての条件が当てはまる場合にアラートがトリガーされます。

  • Firebaseは、過去1時間にアプリの最新バージョンのカスタムコードトレースのサンプルを少なくとも100個記録しました。
  • トレースの期間は、過去1時間および構成されたパーセンタイルで、アプリの定義されたしきい値を超えました。
  • (iOS +およびAndroidの場合のみ)アプリの最新バージョンで、同じしきい値に対して以前に発生したアラートはありませんでした。
  • (Webのみ)過去3日間、同じしきい値に対して以前に発生したアラートはありませんでした。

ネットワークリクエスト

ネットワーク要求メトリックのアラートを構成すると、次のすべての条件が当てはまる場合にアラートがトリガーされます。

  • Firebaseは、過去1時間にアプリのすべてのバージョンでURLパターンに一致するサンプルを少なくとも100個記録しました。
  • メトリックの集計値は、過去1時間に定義されたしきい値を超えました。
    • 応答時間:集計値が、構成されたパーセンタイルに設定されたしきい値を超えました
    • 成功率:(iOS+ / Androidの場合のみ)集計値がすべてのユーザーで設定されたしきい値を下回りました
  • 過去3日間、同じしきい値に対して以前に発生したアラートはありませんでした。

画面レンダリング

画面レンダリングメトリックのアラートを構成すると、次のすべての条件が当てはまる場合にアラートがトリガーされます。

  • Firebaseは、過去1時間に、アプリの最新バージョンの画面レンダリングのサンプルサンプルを少なくとも100個記録しました。
  • メトリックの集計値は、過去1時間に定義されたしきい値を超えました。
    • フリーズされたフレーム:集計値が設定されたしきい値を超えました
    • 遅いフレーム:集計値が設定されたしきい値を超えました
  • アプリの最新バージョンでは、同じしきい値に対して以前に発生したアラートはありませんでした。

ページの読み込み

ページ負荷メトリックのアラートを構成すると、次のすべての条件が当てはまる場合にアラートがトリガーされます。

  • Firebaseは、過去1時間にアプリのページ読み込みのサンプルを少なくとも100件記録しました。
  • メトリックの集計値は、過去1時間に、構成されたパーセンタイルについて、定義されたしきい値を超えました。
    • 最初の入力遅延:集計値が設定されたしきい値と構成されたパーセンタイルを超えました
    • 最初の満足のいくペイント:集計値が設定されたしきい値と構成されたパーセンタイルを超えました
    • 最初のペイント:集計値が設定されたしきい値と構成されたパーセンタイルを超えました
  • 過去3日間、同じしきい値に対して以前に発生したアラートはありませんでした。

アラートの構成、デフォルトのパーセンタイル、および特定のタイプのトレースとメトリックのアラートを設定するためのベストプラクティスの詳細をご覧ください。

他のパフォーマンスメトリクスのアラート、またはSlackJiraPagerDutyとの組み込みのFirebase統合のアラートは、パフォーマンスモニタリングアラートでは使用できません。

アラートを受信する

パフォーマンス監視アラートは、電子メール通知を介して送信されます。

パフォーマンスモニタリングアラートを受信するには、 firebaseperformance.config.update権限が必要です。次の役割には、デフォルトでこの必要な権限が含まれています。

アラートとその設定はプロジェクト全体です。つまり、デフォルトでは、すべてのプロジェクトメンバー(アラートを受信するために必要な権限を持っている)は、アラートがトリガーされたときに電子メール通知を受け取ります。

Performance Monitoringはアラートを検証して、データが有効であり、アラートがアクティブに使用されていることを確認します。次のいずれかに該当する場合、アラートは有効と見なされます。

  • アラートは、パフォーマンスモニタリングが過去90日間にデータを受信したリソースIDに対して作成されます。
  • アラートは、カスタムURLパターンに対して最近作成されました。カスタムURLパターンを作成してアラートを設定した後、90日以内にそのパターンのデータを送信できます。 90日の期間内にデータが送信されない場合、パフォーマンスモニタリングはそのアラートを削除します。カスタムURLパターンの詳細については、「顧客URLパターンの下のデータの集約」を参照してください。

これらの条件のいずれかが満たされない場合、パフォーマンスモニタリングはアラートを削除します。

自分のアカウントのアラートをオン/オフにします

自分のアカウントの場合、他のプロジェクトメンバーに影響を与えることなく、パフォーマンス監視アラートをオン/オフにできます。アラートを受信するには、引き続き必要な権限が必要であることに注意してください。

Firebaseコンソールの右上隅にある[ Firebaseアラート ]>[ ]に移動し、パフォーマンスモニタリングアラートのアカウント設定を設定します。

アラートを構成する

パフォーマンス監視アラートを構成するには、 firebaseperformance.config.update権限が必要です。次の役割には、デフォルトでこの必要な権限が含まれています: Firebase Performance AdminFirebase Quality AdminFirebase Admin 、およびプロジェクトの所有者または編集者

まだ行っていない場合は、最新のPerformanceMonitoringSDKをアプリに追加します。詳細については、 WebAndroidApple 、およびFlutterプラットフォームのスタートガイドを参照してください。

登録済みの各アプリで、トレーステーブルまたはダッシュボードレポートカードを使用して、監視する各メトリックのアラートを構成します。各アプリには、それぞれ異なるしきい値を持つ(またはアラートがまったくない)異なるアラートのセットを含めることができます。

トレーステーブルでアラートを構成します

  1. Firebaseコンソールの[パフォーマンスモニタリングダッシュボード]タブに移動し、アラートを設定するアプリを選択します。

  2. 画面の下部にある[トレース]テーブルまで下にスクロールします。

  3. アラートを設定するトレースタイプのタブを選択し、該当する行を見つけます。

  4. 行の右端で、オーバーフローメニュー( )を開き、[アラート設定]を選択します。

  5. 画面の指示に従って、アプリのアラートしきい値とパーセンタイル(該当する場合)を設定するか、アラートをオン/オフにします。デフォルトのパーセンタイルは、AndroidとiOSの場合は90番目、Webの場合は75番目です。デフォルトのパーセンタイルの詳細については、ダッシュボードの主要な指標の追跡を参照してください

ダッシュボードレポートカードでアラートを構成する

  1. Firebaseコンソールの[パフォーマンスモニタリングダッシュボード]タブに移動し、アラートを設定するアプリを選択します。

  2. [レポートカード]タブで、アラートを構成するメトリックカードを見つけます。

  3. 目的のメトリックカードで、オーバーフローメニュー( )を開き、[アラート設定]を選択します。

  4. 画面の指示に従って、アプリのアラートしきい値とパーセンタイル(該当する場合)を設定するか、アラートをオン/オフにします。デフォルトのパーセンタイルは、AndroidとiOSの場合は90番目、Webの場合は75番目です。デフォルトのパーセンタイルの詳細については、ダッシュボードの主要な指標の追跡を参照してください

パフォーマンスアラートを設定するためのベストプラクティス

ネットワークリクエスト

Firebaseは、次のいずれかのURLパターンで同様のネットワークリクエストからのデータを集約します。

  • カスタムURLパターンと呼ばれるユーザー定義パターン。

  • 自動URLパターンと呼ばれるFirebaseから派生したパターン。
    これらのパターンは、アプリの最新の使用行動に基づいて時間の経過とともに変化する可能性があります。

カスタムURLパターンのアラートを設定する

構成したカスタムURLパターンに対してアラートを設定することをお勧めします。 Firebaseは最初にリクエストをカスタムURLパターンに一致させようとするため、同様のリクエストはより一貫して同じURLパターンにマッピングされます。これにより、カスタムURLパターンのアラートがチームにとってより意味のある効果的なものになります。これは、特定のリクエストパターンがアプリにとって重要であると既に特定しているためです。

自動URLパターンのアラートを設定する

自動URLパターンのアラートを設定するときは、自動URLパターンが数日間安定していることを確認してください。自動URLパターンは時間の経過とともに変化する可能性があり、アラート構成は新しいURLパターンに引き継がれないことに注意してください。これにより、気になるパターンのアラートが正しくないか、欠落している可能性があります。このパターンが安定していることを確認するために、カスタムURLパターンの作成を検討することもできます。

Webページが読み込まれます

Webメトリックを測定するための推奨しきい値については、 CoreWebVitalsのドキュメントを参照してください。

画面レンダリング

最適なアプリエクスペリエンスを確保するには、ユーザーセッションに低速でフリーズしたフレームがないようにする必要があります。 Performance Monitoringでは、1%を超えるフリーズフレームに対してアラートを設定し、5%を超える低速フレームに対してアラートを設定することをお勧めします。これらの値は、パフォーマンスアラートの構成時にデフォルト設定として存在することがわかります。過度に遅いフレームやフリーズしたフレーム、およびその他のアプリパフォーマンスのベストプラクティスについて詳しくは、 GooglePlayのガイダンスをご覧ください。