本頁面提供疑難排解提示,協助您開始使用 Performance Monitoring,或使用 Performance Monitoring 功能和工具。
疑難排解的第一步
以下兩項檢查是建議所有人在進一步排解問題前採取的通用最佳做法。
1. 檢查記錄訊息中的效能事件
檢查記錄訊息,確認 Performance Monitoring SDK 是否正在擷取效能事件。
如何查看效能事件的記錄訊息
啟用偵錯記錄功能,方法如下:
- 在 Xcode (最低版本 26.2) 中,依序選取「Product」 >「Scheme」 >「Edit scheme」。
- 在左選單中選取「Run」,然後選取「Arguments」分頁標籤。
- 在「Arguments Passed on Launch」部分中,加入
-FIRDebugEnabled。
檢查記錄訊息中是否有任何錯誤訊息。
Performance Monitoring 會使用 Firebase/Performance 標記記錄訊息,方便您篩選記錄訊息。
檢查下列類型的記錄,確認 Performance Monitoring 是否記錄效能事件:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
Logging network request trace: URL
按一下網址,即可在 Firebase 控制台中查看資料。資訊主頁可能需要幾分鐘才會更新資料。
如果應用程式未記錄成效事件,請參閱疑難排解提示。
2. 查看 Firebase 狀態資訊主頁
請查看 Firebase 狀態資訊主頁,瞭解 Firebase 或 Performance Monitoring 是否有已知服務中斷情形。
開始使用 Performance Monitoring
如果您剛開始使用 Performance Monitoring (iOS+ | Android | Web),下列疑難排解提示有助於解決 Firebase 偵測到 SDK 或在 Firebase 控制台中顯示第一筆成效資料時發生的問題。
已將 SDK 新增至應用程式,但管理中心仍顯示需要新增 SDK
當 Firebase 收到應用程式傳送的事件資訊 (例如應用程式互動) 時,就能偵測您是否已成功將 Performance Monitoring SDK 新增至應用程式。通常在啟動應用程式後 10 分鐘內,Firebase 控制台的效能資訊主頁就會顯示「已偵測到 SDK」訊息。接著,資訊主頁會在 30 分鐘內顯示初始處理的資料。
如果您在應用程式中加入最新版 SDK 已超過 10 分鐘,但仍未看到任何變更,請檢查記錄訊息,確認 Performance Monitoring 是否正在記錄事件。請按照下文所述的疑難排解步驟操作,解決 SDK 偵測延遲的問題。
應用程式記錄事件:疑難排解步驟
如果您仍在本地開發,請嘗試產生更多事件來收集資料:
繼續使用模擬器或測試裝置開發應用程式。
多次在背景和前景之間切換應用程式、在不同畫面之間瀏覽應用程式,以及/或觸發網路要求,即可產生事件。
請確認您已將Firebase 設定檔 (Google-Service-Info.plist) 正確加入應用程式,且未修改該檔案。請特別檢查下列事項:
如果應用程式中的設定檔有任何問題,請嘗試下列做法:
刪除應用程式中目前的設定檔。
按照這些操作說明下載新的設定檔,並新增至 Apple 應用程式。
如果 SDK 正在記錄事件,且一切設定似乎都正確無誤,但您仍未看到 SDK 偵測訊息或已處理的資料 (2 小時後),請與 Firebase 支援團隊聯絡。
一般疑難排解
如果您已成功新增 SDK,並在應用程式中使用 Performance Monitoring,下列疑難排解提示可協助您解決與 Performance Monitoring 功能和工具相關的一般問題。
效能資訊主頁缺少畫面追蹤資料
如果缺少畫面算繪追蹤資料,請嘗試下列疑難排解步驟:
請確認您使用的是最新版本的 Apple 平台 SDK (v12.15.0)。只有 v5.0.0 以上版本才提供畫面算繪追蹤記錄。
Performance Monitoring 不會為容器檢視區塊控制器 (例如 UINavigationController 和 UITabBarController) 建立畫面算繪追蹤記錄。如果只有這些畫面缺少資料,這是預期行為。
成效資訊主頁缺少自訂追蹤資料
您是否看到自動收集的追蹤記錄成效資料,但沒有自訂程式碼追蹤記錄的資料?請嘗試下列疑難排解步驟:
檢查透過 Trace API 檢測的自訂程式碼追蹤設定,特別是下列項目:
- 自訂程式碼追蹤和自訂指標的名稱必須符合下列規定:開頭或結尾不得有空白字元,開頭不得有底線 (
_) 字元,且長度上限為 32 個字元。
- 所有追蹤記錄都必須啟動及停止。如果追蹤記錄未啟動、未停止或在啟動前停止,系統就不會記錄。
檢查記錄訊息,確認 Performance Monitoring 正在記錄預期的自訂程式碼追蹤記錄。
如果 Performance Monitoring 正在記錄事件,但 24 小時後仍未顯示任何資料,請與 Firebase 支援團隊聯絡。
效能資訊主頁缺少網路要求資料
如果缺少網路要求資料,請嘗試下列疑難排解步驟:
檢查網路程式庫是否不相容。Performance Monitoring 自動收集使用下列網路程式庫的網路要求指標:
- 適用於 Swift:URLSession 和 URLConnection
- 適用於 Objective-C:NSURLSession 和 NSURLConnection
請注意,您可以為網路要求新增自訂監控。
請留意下列事項:
常見問題
專案首頁的「成效」資訊卡中,「熱門問題」發生了什麼事?
我們最近推出了快訊功能,會在您設定的門檻遭到突破時自動通知您,因此我們將「重大問題」替換為「近期快訊」。問題現已淘汰,並由快訊取代。
成效資訊卡頂端的應用程式選取器會篩選「近期快訊」下方的快訊項目。系統只會顯示所選應用程式最近的三則快訊。
如要進一步瞭解警示,請參閱「設定效能問題警示」。
為什麼無法在控制台中設定問題的門檻?
Performance Monitoring支援快訊,可針對超過定義門檻的指標發出通知。為避免與可設定的成效指標門檻混淆,我們移除了問題的門檻設定功能。
Firebase 控制台中的「詳細資料」和「指標」資訊發生了什麼事?
我們已將「詳細資料」和「指標」頁面替換為全新設計的集中式使用者介面,藉此改善排解問題的方式。這個新的疑難排解 UI 提供與「詳細資料」和「指標」相同的核心功能。如要進一步瞭解如何排解問題,請參閱「查看特定追蹤記錄的更多資料」。
為什麼樣本數與預期不符?
Performance Monitoring 會從應用程式使用者的裝置收集效能資料。如果應用程式有許多使用者,或產生大量效能活動,Performance Monitoring 可能會限制資料收集範圍,只從部分裝置收集資料,以減少處理的事件數量。這些限制相當寬鬆,因此即使事件數量較少,指標值仍能代表使用者的應用程式體驗。
為管理我們蒐集的資料量,Performance Monitoring 會使用下列抽樣選項:
裝置端速率限制:為避免裝置突然傳送大量追蹤記錄,我們限制裝置每 10 分鐘最多傳送 300 個程式碼和網路要求追蹤記錄。這種做法可避免裝置因迴圈式插碼而傳送大量成效資料,並防止單一裝置影響效能評估結果。
動態取樣:Performance Monitoring每天為每位應用程式使用者收集有限數量的程式碼追蹤記錄和網路要求追蹤記錄。裝置會擷取動態取樣率 (使用 Firebase Remote Config),判斷隨機裝置是否應擷取及傳送追蹤記錄。未選取取樣的裝置不會傳送任何事件。動態取樣率是應用程式專屬的設定,會自動調整,確保收集的資料總量不超過上限。
啟用 BigQuery 整合的專案,網路要求追蹤記錄的數量上限會提高。
使用者工作階段會從使用者的裝置傳送額外的詳細資料,因此需要更多資源來擷取及傳送資料。為盡量減少使用者工作階段的影響,Performance Monitoring 也可能會限制工作階段數量。
伺服器端速率限制:為確保應用程式不會超過取樣限制,Performance Monitoring 可能會使用伺服器端取樣,捨棄從裝置收到的部分事件。雖然這類限制不會影響指標的有效性,但可能會導致模式出現微小變化,包括:
- 追蹤記錄的數量可能與程式碼片段的執行次數不同。
- 程式碼中緊密耦合的追蹤記錄可能各有不同數量的樣本。
主控台的「問題」分頁發生什麼事?
我們推出「快訊」功能,取代了「問題」分頁。當您設定的門檻遭到突破時,系統會自動通知您,因此您不必再手動檢查 Firebase 控制台,即可判斷門檻狀態。如要瞭解快訊,請參閱「設定效能問題快訊」。
控制台中的「裝置端」和「網路」分頁標籤發生了什麼事?
如何查看這些網頁上的追蹤記錄?
我們重新設計了 Firebase 控制台的「Performance Monitoring」部分,現在「資訊主頁」分頁會顯示重要指標和所有追蹤記錄。此外,我們也移除了「裝置端」和「網路」頁面。
「資訊主頁」分頁底部的追蹤記錄表格,與「裝置端」和「網路」分頁顯示的資訊完全相同,但新增了幾項功能,包括可依特定指標的百分比變化排序追蹤記錄。如要查看特定追蹤記錄的所有指標和資料,請按一下追蹤記錄表格中的追蹤記錄名稱。
在追蹤記錄表格的下列子分頁中查看追蹤記錄:
- 網路要求追蹤記錄 (包括預設和自訂) -「網路要求」子分頁
- 自訂程式碼追蹤記錄 -「自訂追蹤記錄」子分頁
- 應用程式啟動、應用程式在前台、應用程式在背景追蹤記錄 -「自訂追蹤記錄」子分頁
- 畫面轉譯追蹤記錄 -「畫面轉譯」子分頁
- 網頁載入追蹤記錄 -「載入網頁」子分頁
如要進一步瞭解追蹤記錄表,以及如何查看指標和資料,請參閱控制台總覽頁面 (iOS+ |
Android |
Web)。
為什麼緩慢和凍結影格的數量與預期不符?
系統會假設裝置的重新整理頻率為 60Hz,計算轉譯速度緩慢的影格和凍結影格。如果裝置的螢幕刷新率低於 60 Hz,由於每秒轉譯的影格較少,每個影格的轉譯時間就會較慢。轉譯時間較長可能會導致系統回報更多緩慢或凍結的影格,因為會有更多影格轉譯速度較慢或凍結。不過,如果裝置的更新率高於 60Hz,每個影格的算繪時間就會更快。這可能會導致系統回報的緩慢或凍結影格較少。這是 Performance Monitoring SDK 目前的限制。
我的 Performance Monitoring 資料匯出至 BigQuery 的時間比預期長。是否不是即時資訊?
如果您已為 Firebase Performance Monitoring 啟用 BigQuery 整合功能,系統會在一天結束後 (太平洋時間) 12 到 24 小時內,將資料匯出至 BigQuery。
舉例來說,4 月 19 日的資料會在 4 月 20 日中午 12 點到午夜之間 (所有日期和時間均為太平洋時間),顯示在 BigQuery 中。
近乎即時的資料處理和顯示
什麼是「近乎即時」的成效資料?
Firebase Performance Monitoring 會在收集到成效資料時立即處理,因此 Firebase 控制台會近乎即時顯示資料。處理後的資料會在收集後幾分鐘內顯示在控制台中,因此稱為「近乎即時」。
如要使用近乎即時的資料處理功能,請確保應用程式使用與即時功能相容的 SDK 版本。
如何取得應用程式的近乎即時成效資料?
如要使用近乎即時的資料處理功能,只要確保應用程式使用的 Performance Monitoring SDK 版本與即時資料處理功能相容即可。
以下是支援即時效能資料的 SDK 版本:
- iOS:7.3.0 以上版本
- tvOS:8.9.0 以上版本
- Android:19.0.10 以上版本 (或 Firebase Android BoM 26.1.0 以上版本)
- 網頁:7.14.0 以上版本
請注意,我們一律建議使用最新版 SDK,但只要是上述列出的版本,Performance Monitoring 就能近乎即時地處理您的資料。
哪些版本的 Performance Monitoring SDK 支援即時效能資料?
以下是支援即時資料處理的 SDK 版本:
- iOS:7.3.0 以上版本
- tvOS:8.9.0 以上版本
- Android:19.0.10 以上版本 (或 Firebase Android BoM 26.1.0 以上版本)
- 網頁:7.14.0 以上版本
請注意,我們一律建議使用最新版 SDK,但只要是上述列出的版本,Performance Monitoring 就能近乎即時地處理您的資料。
如果我沒有更新應用程式,改用與即時功能相容的 SDK 版本,會怎麼樣?
如果應用程式使用的 SDK 版本不支援即時資料,您仍可在Firebase控制台中查看應用程式的所有效能資料,但顯示的效能資料會延遲約 36 小時。
我已更新至支援即時效能資料的 SDK 版本,但部分使用者仍使用舊版應用程式。我還會在 Firebase 控制台中看到他們的效能資料嗎?
當然可以!無論應用程式例項使用哪個 SDK 版本,您都會看到所有使用者的成效資料。
不過,如果您查看的是近期資料 (大約 36 小時內的資料),顯示的資料會來自使用即時相容 SDK 版本的應用程式執行個體。但非近期資料則會包含所有應用程式版本的成效資料。
如果與 Firebase 支援團隊聯絡,請務必提供 Firebase 應用程式 ID。在「您的應用程式」資訊卡中,找出 Firebase 應用程式 ID。這張資訊卡位於settings「專案設定」。