本頁提供疑難排解提示,協助您開始使用 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 (13.0.0 版)。螢幕轉譯追蹤記錄僅適用於 5.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),藉此改善疑難排解的方式。這個新的疑難排解 UI 提供與「詳細資料」和「指標」相同的核心功能。如要進一步瞭解疑難排解,請參閱「查看特定追蹤記錄的更多資料」。
為什麼樣本數與預期不符?
Performance Monitoring 會從應用程式使用者的裝置收集成效資料。如果應用程式有許多使用者,或產生大量效能活動,Performance Monitoring 可能會限制資料收集範圍,只收集部分裝置的資料,以減少處理的事件數量。這些限制夠高,因此即使事件數量較少,指標值仍能代表使用者的應用程式體驗。
為管理收集的資料量,Performance Monitoring 會使用下列取樣選項:
裝置端頻率限制:為防止裝置突然傳送大量追蹤記錄,我們限制每部裝置每 10 分鐘最多只能傳送 300 個程式碼和網路要求追蹤記錄事件。這種做法可保護裝置免於循環檢測而傳送大量成效資料,並避免單一裝置影響效能評估結果。
動態取樣:Performance Monitoring 每天會從所有應用程式使用者收集有限數量的程式碼追蹤記錄和網路要求追蹤記錄。系統會使用 Firebase Remote Config 在裝置上擷取動態取樣率,判斷隨機裝置是否應擷取及傳送追蹤記錄。未選取取樣的裝置不會傳送任何事件。動態取樣率因應用程式而異,且會調整,確保收集的資料總量不超過上限。
啟用 BigQuery 整合功能的專案,網路要求追蹤記錄數量上限較高。
使用者工作階段會從使用者裝置傳送額外的詳細資料,因此需要更多資源來擷取及傳送資料。為盡量減少使用者工作階段的影響,Performance Monitoring 也可能會限制工作階段數量。
伺服器端頻率限制:為確保應用程式不會超過取樣限制,Performance Monitoring 可能會使用伺服器端取樣,捨棄從裝置收到的部分事件。雖然這類限制不會影響指標的有效性,但可能會導致模式出現細微變化,包括:
- 追蹤記錄數量可能與程式碼執行次數不同。
- 在程式碼中緊密結合的追蹤記錄,可能各自有不同的樣本數量。
控制台中的「問題」分頁怎麼不見了?
我們推出了「快訊」功能,並以這項功能取代「問題」分頁。當您設定的門檻超出時,系統會自動通知您。您不必再手動查看 Firebase 控制台,即可判斷門檻狀態。如要瞭解快訊,請參閱「設定效能問題快訊」。
控制台中的「裝置端」和「網路」分頁怎麼了?如何查看這些頁面上的追蹤記錄?
我們重新設計了 Firebase 控制台的「Performance Monitoring」部分,讓「資訊主頁」分頁集中顯示重要指標和所有追蹤記錄。在重新設計的過程中,我們移除了「On device」和「Network」頁面。
「Dashboard」分頁底部的追蹤記錄表格包含「On device」和「Network」分頁顯示的所有資訊,但新增了一些功能,包括可依特定指標的百分比變化排序追蹤記錄。如要查看特定追蹤記錄的「所有」指標和資料,請在追蹤記錄表格中按一下追蹤記錄名稱。
在追蹤記錄表格的下列子分頁中,查看追蹤記錄:
- 網路要求追蹤記錄 (現成和自訂):「網路要求」子分頁
- 自訂程式碼追蹤記錄:「Custom traces」(自訂追蹤記錄) 子分頁
- 應用程式啟動、應用程式在前景、應用程式在背景追蹤記錄:「自訂追蹤記錄」子分頁
- 畫面轉譯追蹤記錄 -「Screen rendering」(畫面轉譯) 子分頁
- 載入網頁追蹤記錄 -「載入網頁」子分頁
如要進一步瞭解追蹤記錄表格,以及如何查看指標和資料,請參閱控制台總覽頁面 (iOS+ | Android | Web)。
為什麼緩慢和凍結影格的數量與預期不符?
計算轉譯速度緩慢的影格和凍結影格時,假設裝置刷新率為 60Hz。如果裝置刷新率低於 60Hz,每秒轉譯的影格數會減少,因此每個影格的轉譯時間會變慢。轉譯時間較慢可能會導致系統回報更多緩慢或凍結影格,因為更多影格會轉譯較慢或凍結。不過,如果裝置刷新率高於 60 Hz,每個影格的轉譯時間就會更快。這可能會導致回報的緩慢或凍結影格數量減少。這是 Performance Monitoring SDK 目前的限制。
Performance Monitoring 資料匯出至 BigQuery 的時間比預期長。Is it not real time?
如果您已為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 以上版本)
- 網頁:v7.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 以上版本)
- 網頁:v7.14.0 以上版本
請注意,我們一律建議使用最新版本 SDK,但只要是上述版本,Performance Monitoring 都能近乎即時地處理資料。
如果我沒有更新應用程式,改用與即時 SDK 相容的版本,會怎麼樣?
如果應用程式使用的 SDK 版本不支援即時資料,您仍可在 Firebase 控制台查看所有應用程式成效資料,不過,成效資料收集後,約需 36 小時才會顯示。
我已更新至與即時功能相容的 SDK 版本,但部分使用者仍在使用舊版應用程式。我是否會繼續在 Firebase 控制台中看到他們的成效資料?
當然可以!無論應用程式執行個體使用哪個 SDK 版本,您都會看到所有使用者的成效資料。
不過,如果查看的是近期資料 (大約 36 小時內),則顯示的資料來自使用即時相容 SDK 版本的應用程式執行個體使用者。不過,「非近期」資料包含所有應用程式版本的成效資料。
與 Firebase 支援團隊聯絡時,請務必提供 Firebase 應用程式 ID。在 settings 專案設定的「您的應用程式」資訊卡中,找出 Firebase 應用程式 ID。