获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

設置性能問題警報

如果代碼更改或網絡請求降低了應用程序的性能,請使用性能監控警報通知項目成員。

您可以為您的應用程序設置和自定義警報,當事件的性能超過設定的閾值時通知您。

什麼觸發警報?

當您的應用的指標超過您在 Firebase 控制台中為指定百分比(如果適用)定義的閾值時,會觸發警報。僅當您的應用使用實時兼容的 SDK 版本時才會觸發警報。

應用開始時間

為應用啟動時間配置警報時,如果滿足以下所有條件,則會觸發警報:

  • Firebase 在過去一小時內為您的應用的最新版本記錄了至少100 個_app_start跟踪樣本。
  • _app_start跟踪的持續時間在過去一小時內超過了應用程序定義的閾值以及配置的百分位數。
  • 在您的應用程序的最新版本中,之前沒有針對相同閾值發出警報。

自定義代碼跟踪

為自定義代碼跟踪指標配置警報時,如果滿足以下所有條件,則會觸發警報:

  • Firebase 在過去一小時內為您的應用的最新版本記錄了至少100 個自定義代碼跟踪示例。
  • 跟踪的持續時間在過去一小時內超過了應用程序定義的閾值以及配置的百分位數。
  • (僅適用於 iOS+ 和 Android)在您的應用程序的最新版本中,之前沒有針對相同閾值發出警報。
  • (僅適用於網絡)過去3 天內沒有針對相同閾值發出過警報。

網絡請求

為網絡請求指標配置警報時,如果滿足以下所有條件,則會觸發警報:

  • Firebase 在過去一小時內記錄了至少100 個與您應用的所有版本的 URL 模式匹配的樣本
  • 指標的聚合值在過去一小時內超過了定義的閾值:
    • 響應時間:聚合值超過了為配置的百分位數設置的閾值
    • 成功率:(僅適用於 iOS+/Android)所有用戶的聚合值低於設定的閾值
  • 在過去3 天中,之前沒有針對相同閾值發出過警報。

屏幕渲染

為屏幕渲染指標配置警報時,如果滿足以下所有條件,則會觸發警報:

  • Firebase 在過去一小時內為您的應用的最新版本記錄了至少100 個屏幕渲染示例。
  • 指標的聚合值在過去一小時內超過了定義的閾值:
    • 凍結幀:聚合值超過設置的閾值
    • 慢幀:聚合值超過設置的閾值
  • 在您的應用程序的最新版本中,之前沒有針對相同閾值發出警報。

頁面加載

為頁面加載指標配置警報時,如果滿足以下所有條件,則會觸發警報:

  • Firebase 在過去一小時內為您的應用記錄了至少100 個頁面加載樣本
  • 指標的聚合值在過去一小時內超過了定義的閾值,並且對於配置的百分位數:
    • 首次輸入延遲:聚合值超過設置的閾值和配置的百分位數
    • 第一次內容繪製:聚合值超過了設置的閾值和配置的百分位數
    • 第一次繪製:聚合值超過了設置的閾值和配置的百分位數
  • 在過去3 天中,之前沒有針對相同閾值發出過警報。

了解有關配置警報默認百分位數以及為特定類型的跟踪和指標設置警報的最佳實踐的更多信息。

其他性能指標的警報或與SlackJiraPagerDuty的內置 Firebase 集成的警報不適用於性能監控警報。

接收警報

獲取默認警報

默認情況下,Firebase 可以通過電子郵件發送性能監控警報。

要通過此默認機制接收性能監控警報,您必須具有firebaseperformance.config.update權限。默認情況下,以下角色包括此必需的權限:

警報及其設置是項目範圍的。這意味著,默認情況下,每個項目成員(不是電子郵件組並且具有接收警報所需的權限)都會在觸發性能警報時收到一封電子郵件。

為您自己的帳戶打開/關閉警報

對於您自己的帳戶,您可以在不影響其他項目成員的情況下打開/關閉性能監控警報。請注意,您仍然需要接收警報所需的權限。

要打開或關閉性能監控警報,請執行以下步驟:

  1. 在 Firebase 控制台的右上角,轉到 Firebase alerts
  2. 然後,轉到設置並設置性能監控警報的帳戶首選項。

為第三方服務設置高級警報

您還可以使用 Cloud Functions for Firebase 將性能監控警報發送到您團隊的首選通知渠道。例如,您可以編寫一個函數來捕獲慢速應用啟動時間的警報事件,並將警報信息發佈到第三方服務,如 Discord、Slack 或 Jira。

要使用 Cloud Functions for Firebase 設置高級警報功能,請按以下步驟操作:

  1. 為 Firebase 設置 Cloud Functions ,其中包括以下任務:

    1. 下載 Node.js 和 npm。
    2. 安裝並登錄 Firebase CLI。
    3. 使用 Firebase CLI 為 Firebase 初始化 Cloud Functions。
  2. 編寫和部署一個函數,從性能監控中捕獲警報事件並處理事件負載(例如,在 Discord 上的消息中發布警報信息)。

要了解您可以捕獲的所有性能警報事件,請轉到性能監控警報的參考文檔。

自動刪除無效警報

性能監控驗證警報以確保數據有效並且警報處於活動狀態。如果以下情況之一為真,則警報被視為有效:

  • 警報是為性能監控在過去 90 天內收到數據的資源 ID 創建的。
  • 該警報是最近為自定義 URL 模式創建的。創建自定義 URL 模式並設置警報後,您有 90 天的時間發送該模式的數據。如果在 90 天的時間段內未發送任何數據,性能監控將刪除該警報。有關自定義 URL 模式的更多信息,請參閱客戶 URL 模式下的聚合數據

如果不滿足其中任何一個條件,性能監控將刪除警報。

配置警報

要配置性能監控警報,您必須具有firebaseperformance.config.update權限。默認情況下,以下角色包括此必需權限: Firebase Performance AdminFirebase Quality AdminFirebase Admin和項目Owner 或 Editor

如果您尚未這樣做,請將最新的性能監控 SDK 添加到您的應用程序。有關更多信息,請參閱WebAndroidAppleFlutter平台的入門指南。

在您註冊的每個應用程序中,使用跟踪表儀表板報告卡為您要監控的每個指標配置警報。每個應用程序可以有一組不同的警報,每個警報都有不同的閾值(或根本沒有警報)。

在 Traces 表中配置警報

  1. 轉到 Firebase 控制台中的性能監控儀表板選項卡,然後選擇要為其配置警報的應用程序。

  2. 向下滾動到屏幕底部的 Traces 表。

  3. 選擇要設置警報的跟踪類型的選項卡,然後找到適用的行。

  4. 在該行的最右側,打開溢出菜單 ( ) 並選擇警報設置

  5. 按照屏幕上的說明設置應用程序的警報閾值和百分位數(如果適用),或打開/關閉警報。 Android 和 iOS 的默認百分位數為第 90 位,Web 為第 75 位。要了解有關默認百分位數的更多信息,請參閱在儀表板中跟踪關鍵指標

在儀表板報告卡中配置警報

  1. 轉到 Firebase 控制台中的性能監控儀表板選項卡,然後選擇要為其配置警報的應用程序。

  2. 在報告卡選項卡中,找到要為其配置警報的指標卡。

  3. 在所需的度量卡中,打開溢出菜單 ( ) 並選擇警報設置

  4. 按照屏幕上的說明設置應用程序的警報閾值和百分位數(如果適用),或打開/關閉警報。 Android 和 iOS 的默認百分位數為第 90 位,Web 為第 75 位。要了解有關默認百分位數的更多信息,請參閱在儀表板中跟踪關鍵指標

設置性能警報的最佳實踐

網絡請求

Firebase 在 URL 模式下聚合來自類似網絡請求的數據,可以是以下任一模式:

  • 用戶定義的模式,稱為自定義 URL 模式

  • Firebase 派生的模式,稱為自動 URL 模式
    這些模式可能會根據您應用的最新使用行為隨時間而變化。

為您的自定義 URL 模式設置警報

我們建議為您配置的任何自定義 URL 模式設置警報。由於 Firebase 會首先嘗試將請求與自定義 URL 模式匹配,因此類似的請求會更一致地映射到相同的 URL 模式。這使自定義 URL 模式的警報對您的團隊更有意義和有效,因為您已經確定該特定請求模式對您的應用程序很重要。

為自動 URL 模式設置警報

在為自動 URL 模式設置警報時,請確保自動 URL 模式已經穩定了幾天。請記住,自動 URL 模式可能會隨著時間而改變,並且警報配置不會延續到新的 URL 模式。這可能會導致您關心的模式的警報不正確或丟失。您還可以考慮創建自定義 URL 模式以確保此模式穩定。

網頁加載

要了解衡量 Web 指標的推薦閾值,請參閱Core Web Vitals文檔。

屏幕效果圖

為了確保最佳的應用體驗,用戶會話應該沒有緩慢和凍結的幀。性能監控建議您為大於 1% 的凍結幀設置警報,並為超過 5% 的慢速幀設置警報。您會發現這些值在性能警報配置期間作為默認設置存在。要詳細了解過慢或凍結幀以及其他應用程序性能最佳做法,請參閱Google Play 指南