設置性能問題警報

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

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

什麼會觸發警報?

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

應用程序啟動時間

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

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

自定義代碼痕跡

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

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

網絡請求

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

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

屏幕渲染

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

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

頁面加載

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

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

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

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

接收提醒

獲取默認警報

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

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

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

打開/關閉您自己帳戶的提醒

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

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

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

設置對第三方服務的高級警報

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

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

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

    1. 設置 Node.js 或 Python 的開發環境。
    2. 安裝並登錄 Firebase CLI。
    3. 使用 Firebase CLI 初始化 Cloud Functions for Firebase。
  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. 向下滾動到屏幕底部的“軌跡”表。

  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 指南