為特定應用程式程式碼新增自訂監控功能

Performance Monitoring 會收集「追蹤記錄」,協助您監控應用程式效能。追蹤記錄是指在應用程式中兩個時間點之間擷取的效能資料報表。

您可以自行建立追蹤記錄,監控與應用程式中特定程式碼相關聯的效能資料。透過自訂程式碼追蹤記錄,您可以評估應用程式完成特定工作或一組任務所需的時間,例如載入一組圖片或查詢資料庫。

自訂程式碼追蹤記錄的預設指標為「持續時間」(追蹤記錄開始與停止點之間的時間),但您也可以新增自訂指標

在程式碼中,請使用 Performance Monitoring SDK 提供的 API 定義自訂程式碼追蹤記錄的開頭和結尾。

自訂程式碼追蹤記錄建立後,隨時都能啟動,而且符合執行緒安全規範。

由於這些追蹤記錄的預設指標是「時間長度」,因此有時也稱為「時間長度追蹤記錄」。

您可以在追蹤記錄表格的「Custom traces」子分頁中查看這些追蹤記錄的資料,這個子分頁位於「Performance」資訊主頁底部 (本頁稍後將說明如何使用主控台)。

預設屬性、自訂屬性和自訂指標

如果是自訂程式碼追蹤記錄,Performance Monitoring 會自動記錄預設屬性 (常見的中繼資料,例如應用程式版本、國家/地區、裝置等),讓您在 Firebase 控制台中篩選追蹤記錄的資料。您也可以新增及監控自訂屬性 (例如遊戲層級或使用者屬性)。

您可以進一步設定自訂程式碼追蹤記錄,針對出現在追蹤記錄範圍內的效能相關事件記錄自訂指標。例如,您可以建立自訂指標,計算快取命中和失敗的次數,或 UI 在一段明顯的時間範圍內沒有回應的次數。

自訂屬性和自訂指標會顯示在 Firebase 控制台中,以及追蹤記錄的預設屬性和預設指標。

新增自訂程式碼追蹤記錄

您可以使用 Performance Monitoring Trace API 新增自訂程式碼追蹤記錄,以便監控特定應用程式程式碼。

注意事項:

  • 一個應用程式可以有多個自訂程式碼追蹤記錄。
  • 您可以同時執行多個自訂程式碼追蹤記錄。
  • 自訂程式碼追蹤記錄的名稱必須符合下列規定:開頭或結尾不得為空白字元、開頭不為底線 (_) 字元,且長度上限為 100 個字元。
  • 自訂程式碼追蹤記錄支援新增自訂指標自訂屬性

如要啟動及停止自訂程式碼追蹤記錄,請使用類似於下方的程式碼包裝要追蹤的程式碼:

Trace customTrace = FirebasePerformance.instance.newTrace('custom-trace');
await customTrace.start();

// Code you want to trace

await customTrace.stop();

在自訂程式碼追蹤記錄中新增自訂指標

使用 Performance Monitoring Trace API,將自訂指標新增至自訂程式碼追蹤記錄。

注意事項:

  • 自訂指標的名稱必須符合下列規定:開頭或結尾不得為空白字元、開頭不加上底線 (_) 字元,且長度上限為 100 個字元。
  • 每個自訂程式碼追蹤記錄最多可記錄 32 個指標 (包括預設的 Duration 指標)。

如要新增自訂指標,請在每次事件發生時新增一行類似下方的程式碼。舉例來說,這個自訂指標會計算應用程式內的成效相關事件,例如快取命中或重試事件。

Trace customTrace = FirebasePerformance.instance.newTrace("custom-trace");
await customTrace.start();

// Code you want to trace

customTrace.incrementMetric("metric-name", 1);

// More code

await customTrace.stop();

建立自訂程式碼追蹤記錄的自訂屬性

如要使用自訂屬性,請在應用程式中加入用來定義屬性的程式碼,並將其與特定自訂程式碼追蹤記錄建立關聯。從追蹤記錄開始到追蹤記錄停止的時間點之間,您隨時可以設定自訂屬性。

注意事項:

  • 自訂屬性的名稱必須符合下列規定:開頭或結尾不得為空白字元、開頭不得為底線 (_) 字元,且長度上限為 32 個字元。

  • 每個自訂程式碼追蹤記錄最多可記錄 5 個自訂屬性。

  • 自訂屬性不得含有 Google 識別個人身分的資訊。

Trace trace = FirebasePerformance.instance.newTrace("test_trace");

// Update scenario.
trace.putAttribute("experiment", "A");

// Reading scenario.
String? experimentValue = trace.getAttribute("experiment");

// Delete scenario.
trace.removeAttribute("experiment");

// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();

追蹤、查看及篩選成效資料

在資訊主頁中追蹤特定指標

如要瞭解重要指標的趨勢變化,請將這些指標新增至「Performance」(效能) 資訊主頁頂端的指標看板。您可以透過查看逐週變更,或確認近期程式碼變更是否正在改善效能,藉此快速找出迴歸問題。

如要將指標新增至指標板,請前往 Firebase 控制台的「Performance」(效能) 資訊主頁,然後按一下「Dashboard」(資訊主頁) 分頁標籤。按一下空白指標資訊卡,然後選取要新增至主面板的現有指標。按一下填入指標資訊卡上的垂直刪節號 () 即可查看更多選項,例如取代或移除指標。

指標板會顯示一段時間內收集到的指標資料,以圖像形式和數值百分比變化。

進一步瞭解如何使用資訊主頁

查看追蹤記錄和相關資料

如要查看追蹤記錄,請前往 Firebase 控制台的「Performance」(效能) 資訊主頁,向下捲動至追蹤記錄資料表,然後按一下適當的子分頁標籤。資料表會顯示每筆追蹤記錄的一些熱門指標,您甚至可以根據特定指標的百分比變化來排序清單。

按一下追蹤記錄表格中的追蹤記錄名稱,即可點選節流各種畫面來探索追蹤記錄,並深入瞭解感興趣的指標。在大多數頁面中,您可以使用「篩選器」按鈕 (畫面左上方),依屬性篩選資料,例如:

  • 依「應用程式版本」篩選,即可查看過去版本或最新版本的資料
  • 依「裝置」篩選,瞭解舊版裝置如何處理您的應用程式
  • 依「國家/地區」篩選,確保資料庫位置不會影響特定區域

進一步瞭解如何查看追蹤記錄資料

後續步驟

  • 進一步瞭解如何使用屬性來檢查成效資料。

  • 進一步瞭解如何在 Firebase 控制台中追蹤效能問題

  • 為會降低應用程式效能的程式碼變更設定快訊。舉例來說,如果特定自訂程式碼追蹤記錄的時間長度超過您設定的門檻,您可以設定團隊的電子郵件快訊。