Performance Monitoring 會收集追蹤記錄,協助您監控應用程式的效能。追蹤記錄是應用程式在兩個時間點之間擷取的成效資料報表。
您可以建立自己的追蹤記錄,監控與應用程式中特定程式碼相關的成效資料。透過自訂程式碼追蹤記錄,您可以評估應用程式完成特定工作或一組工作所需的時間,例如載入一組圖片或查詢資料庫。
自訂程式碼追蹤記錄的預設指標是「duration」(追蹤記錄開始和停止點之間的時間),但您也可以新增自訂指標。
在程式碼中,您可以使用 Performance Monitoring SDK 提供的 API 定義自訂程式碼追蹤記錄的開頭和結尾。 自訂程式碼追蹤記錄建立後,隨時可以啟動,且具備執行緒安全。
由於系統為這些追蹤記錄收集的預設指標是「duration」,因此有時也稱為「Duration traces」。
您可以在「效能資訊主頁」底部的追蹤記錄表格中,透過「自訂追蹤記錄」子標籤查看這些追蹤記錄的資料 (請參閱本頁後續內容,進一步瞭解如何使用控制台)。
預設屬性、自訂屬性和自訂指標
針對自訂程式碼追蹤,Performance Monitoring 會自動記錄預設屬性 (常見的中繼資料,例如應用程式版本、國家/地區、裝置等),以便您在 Firebase 控制台中篩選追蹤記錄的資料。您也可以新增及監控自訂屬性 (例如遊戲關卡或使用者屬性)。您可以進一步設定自訂程式碼追蹤記錄,針對追蹤記錄範圍內發生的效能相關事件,記錄自訂指標。舉例來說,您可以建立自訂指標,追蹤快取命中和未命中的次數,或使用者介面明顯沒有回應的次數。
自訂屬性和自訂指標會與追蹤記錄的預設屬性和預設指標,一併顯示在 Firebase 控制台中。
新增自訂程式碼追蹤記錄
使用 Performance Monitoring Trace API (Swift | Obj-C) 新增自訂程式碼追蹤記錄,監控特定應用程式程式碼。
注意事項:
- 一個應用程式可以有多個自訂程式碼追蹤記錄。
- 可以同時執行多個自訂程式碼追蹤記錄。
- 自訂程式碼追蹤記錄的名稱必須符合下列規定:開頭或結尾不得為空白字元、開頭不得為底線 (
_) 字元,且長度上限為 100 個字元。 - 自訂程式碼追蹤支援新增自訂指標和自訂屬性。
如要啟動及停止自訂程式碼追蹤記錄,請使用類似下列的程式碼行,包裝要追蹤的程式碼:
Swift
// Add the Performance Monitoring module to your header import FirebasePerformance let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME") // code that you want to trace trace.stop()
Objective-C
// Add the Performance Monitoring module to your header @import FirebasePerformance; FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"]; // code that you want to trace [trace stop];
在自訂程式碼追蹤記錄中新增自訂指標
使用 Performance Monitoring Trace API (Swift | Obj-C),將自訂指標新增至自訂程式碼追蹤記錄。
注意事項:
- 自訂指標名稱必須符合下列規定:開頭或結尾不得為空白字元、開頭不得為底線 (
_) 字元,且長度上限為 100 個字元。 - 每個自訂程式碼追蹤記錄最多可記錄 32 個指標 (包括預設的「Duration」指標)。
如要新增自訂指標,請在每次事件發生時,加入類似下列的程式碼。舉例來說,這項自訂指標會計算應用程式中發生的效能相關事件,例如快取命中或重試。
Swift
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME") trace.incrementMetric("EVENT_NAME", by: 1) // code that you want to trace (and log custom metrics) trace.stop()
Objective-C
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"]; [trace incrementMetric:@"EVENT_NAME" byInt:1]; // code that you want to trace (and log custom metrics) [trace stop];
為自訂程式碼追蹤記錄建立自訂屬性
使用 Performance Monitoring Trace API (Swift | Obj-C),將自訂屬性新增至自訂程式碼追蹤記錄。
如要使用自訂屬性,請在應用程式中加入程式碼,定義屬性並與特定自訂程式碼追蹤記錄建立關聯。您可以在追蹤記錄開始到停止之間的任何時間設定自訂屬性。
注意事項:
自訂屬性的名稱必須符合下列規定:
- 開頭或結尾不得為空白字元,開頭不得為底線 (
_) 字元 - 沒有工作區
- 長度上限為 32 個半形字元
- 名稱可使用的字元為
A-Z、a-z和_。
- 開頭或結尾不得為空白字元,開頭不得為底線 (
每項自訂程式碼追蹤記錄最多可記錄 5 個自訂屬性。
請確保自訂屬性不含任何可向 Google 識別個人身分的資訊。
進一步瞭解這項規範
Swift
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME") trace.setValue("A", forAttribute: "experiment") // Update scenario. trace.setValue("B", forAttribute: "experiment") // Reading scenario. let experimentValue:String? = trace.valueForAttribute("experiment") // Delete scenario. trace.removeAttribute("experiment") // Read attributes. let attributes:[String, String] = trace.attributes;
Objective-C
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"]; [trace setValue:@"A" forAttribute:@"experiment"]; // Update scenario. [trace setValue:@"B" forAttribute:@"experiment"]; // Reading scenario. NSString *experimentValue = [trace valueForAttribute:@"experiment"]; // Delete scenario. [trace removeAttribute:@"experiment"]; // Read attributes. NSDictionary <NSString *, NSString *> *attributes = [trace attributes];
追蹤、查看及篩選成效資料
在資訊主頁中追蹤特定指標
如要瞭解主要指標的趨勢,請將這些指標新增至「成效」資訊主頁頂端的指標面板。您可以查看每週變化,快速找出迴歸問題,或確認最近的程式碼變更是否能提升效能。
Firebase Performance Monitoring 資訊主頁」/>
如要在指標面板中新增指標,請按照下列步驟操作:
- 前往 Firebase 控制台的「Performance」(效能) 資訊主頁。
- 按一下空白指標資訊卡,然後選取要新增至面板的現有指標。
- 按一下已填入資料的指標資訊卡上的 ,即可查看更多選項,例如取代或移除指標。
指標面板會以圖表和數值百分比變化的形式,顯示一段時間內收集的指標資料。
進一步瞭解如何使用資訊主頁。
查看追蹤記錄和相關資料
如要查看追蹤記錄,請前往 Firebase 控制台的「Performance」(效能) 資訊主頁,向下捲動至追蹤記錄表格,然後按一下適當的子分頁。表格會顯示每個追蹤記錄的主要指標,您甚至可以依特定指標的變化百分比排序清單。
Performance Monitoring 在 Firebase 控制台中提供疑難排解頁面,醒目顯示指標變化,方便您快速解決問題,並盡量降低效能問題對應用程式和使用者的影響。當您發現潛在效能問題時,可以使用疑難排解頁面,例如在下列情況:
- 您在資訊主頁上選取相關指標,發現有很大的差異。
- 在追蹤記錄表中,您將資料排序,在頂端顯示最大差異,並看到顯著的百分比變化。
- 您收到電子郵件快訊,通知您有效能問題。
您可以透過下列方式前往疑難排解頁面:
- 在指標資訊主頁上,按一下「查看指標詳細資料」按鈕。
- 在任一指標資訊卡上,
依序選取「 => 查看詳細資料」 。疑難排解頁面會顯示所選指標的相關資訊。 - 在追蹤記錄表格中,按一下追蹤記錄名稱,或與該追蹤記錄相關聯的資料列中的任何指標值。
- 在電子郵件快訊中,按一下「立即調查」。
在追蹤記錄表格中點選追蹤記錄名稱,即可深入查看感興趣的指標。按一下
Firebase Performance Monitoring data being filtered by attribute" />
- 依「應用程式版本」篩選,查看過往版本或最新版本的資料
- 依「裝置」篩選,瞭解舊款裝置如何處理應用程式
- 依「國家/地區」篩選,確保資料庫位置不會影響特定區域
進一步瞭解如何查看追蹤記錄資料。
後續步驟
進一步瞭解如何使用屬性查看成效資料。
進一步瞭解如何在 Firebase 控制台追蹤效能問題。
設定快訊,在程式碼變更導致應用程式效能降低時通知您。舉例來說,您可以設定電子郵件快訊,在特定自訂程式碼追蹤記錄的持續時間超過您設定的門檻時,通知您的團隊。
- 查看使用者工作階段的詳細報表,在時間軸中查看特定追蹤記錄,以及在同一工作階段中收集的其他追蹤記錄。