iOS 以上版本
Android
網頁
本頁提供開始使用 Performance Monitoring 和
使用 Performance Monitoring 的各項功能和工具。
初步檢查疑難排解
以下兩項是建議所有人採用的通用最佳做法
,再進行進一步疑難排解。
1. 查看效能事件的記錄訊息
查看記錄訊息,確認 Performance Monitoring SDK 會擷取
效能事件
2. 查看 Firebase 狀態資訊主頁
查看
Firebase 狀態資訊主頁
已知的 Firebase 或 Performance Monitoring 發生服務中斷情形。
開始使用 Performance Monitoring
如要開始使用 Performance Monitoring
(iOS 以上版本 |
Android 版 |
網頁 ),下列疑難排解說明
這些提示可協助您處理 Firebase 偵測或顯示 SDK 的相關問題
您的第一項成效資料位於 Firebase 控制台。
已將 SDK 新增至應用程式,但 Play 管理中心
仍表示要新增 SDK
Firebase 可偵測您是否已成功將 Performance Monitoring SDK 加入應用程式
。
通常在啟動應用程式後的 10 分鐘內,效能
資訊主頁
Firebase 控制台顯示「偵測到 SDK」撰寫新的電子郵件訊息然後,在 30 天內
分鐘,資訊主頁會顯示初始處理的資料。
如果 10 分鐘過後,
但您的應用程式仍然沒有任何異動,請查看您的記錄
訊息 ,確保 Performance Monitoring 會記錄
事件。依照下列適當的疑難排解步驟操作,
排解 SDK 偵測延遲訊息的問題。
應用程式正在記錄事件:疑難排解
步驟
注意: Performance Monitoring SDK 會在本機批次處理事件,然後傳送至 Firebase
定期更新。也就是說,在應用程式互動與 Firebase 從應用程式接收事件資訊之間,會有一段延遲時間。
如果您在本機進行開發,請嘗試為資料產生更多事件
集合:
在本機環境中提供及檢視網頁應用程式。
為網站載入子頁面並與
應用程式及/或觸發網路要求請務必保留瀏覽器
分頁在網頁載入後開啟至少 10 秒。
確認您的 Firebase 設定
物件 正確加入應用程式中
就算沒有修改過物件
也能照常使用具體來說,請檢查下列項目:
設定物件中的 Firebase Web 應用程式 ID (appId
) 與應用程式相符。您可以在 settings 專案設定 的「您的應用程式」 資訊卡中找到 Firebase 應用程式 ID。
如果應用程式中的設定物件似乎有誤,請嘗試使用
包括:
刪除應用程式中現有的設定物件。
請按照這些操作說明 取得新的設定物件,並將其新增至您的網路應用程式。
如果 SDK 正在記錄事件,且所有設定皆正確無誤,
但還是看不到 SDK 偵測訊息或已處理的資料
(2 小時後),請與 Firebase 支援團隊聯絡 。
,瞭解如何調查及移除這項存取權。
應用程式「不會」 記錄事件:
疑難排解步驟
請確認 Performance Monitoring SDK 正確無誤
在 Google Analytics 中初始化
應用程式。
請確定 Performance Monitoring SDK 並未 透過
下列標記:
performance.instrumentationEnabled
請確認瀏覽器快取功能已停用 ,否則瀏覽器可能不會擷取任何新的檢測設定。
關閉網頁分頁,然後重新開啟。再次檢查是否有記錄。
如果您才剛在應用程式中加入 Performance Monitoring SDK,則可能需要
重新啟動應用程式,以便讓 SDK 開始運作。
如果您在應用程式中找不到任何已停用的擴充功能,
與 Firebase 支援團隊聯絡 。
一般疑難排解
如果您已成功新增 SDK,並在應用程式中使用 Performance Monitoring ,
下列疑難排解提示可解決一般
Performance Monitoring 的功能和工具。
應用程式未記錄資料
成效事件
如果您沒有看到效能事件的記錄訊息 ,請嘗試下列疑難排解步驟:
請確認 Performance Monitoring SDK 正確無誤
在 Google Analytics 中初始化
應用程式。
請確定 Performance Monitoring SDK 並未 透過
下列標記:
performance.instrumentationEnabled
請確認瀏覽器快取功能已停用 ,否則瀏覽器可能不會擷取任何新的檢測設定。
關閉網頁分頁,然後重新開啟。再次檢查是否有記錄。
如果您才剛在應用程式中加入 Performance Monitoring SDK,則可能需要
重新啟動應用程式,以便讓 SDK 開始運作。
如果您在應用程式中找不到任何已停用的擴充功能,
與 Firebase 支援團隊聯絡 。
成效資訊主頁缺少自訂追蹤資料
您是否只看到自動收集的追蹤記錄資料,而沒有自訂程式碼追蹤記錄資料? 請嘗試下列疑難排解步驟:
檢查透過
Trace API ,
尤其是以下:
自訂程式碼追蹤和自訂指標的名稱必須符合下列規定
要求:開頭或結尾不含空白字元,沒有前置底線
(_
) 的字元,長度上限為 32 個半形字元。
您必須開始及停止所有追蹤記錄。系統不會記錄未啟動、未停止或在啟動前停止的任何追蹤記錄。
請注意,如果您使用
record()
敬上
方法,則不需要明確啟動或停止追蹤記錄。
確認「Performance Monitoring 」資料收集作業不是
停用
下列標記:
查看記錄訊息 ,確認 Performance Monitoring 是否記錄預期的自訂程式碼追蹤記錄。
如果 Performance Monitoring 會記錄事件,但 24 小時後仍未顯示資料,
請與 Firebase 支援團隊聯絡 。
效能資訊主頁
沒有網路要求資料
如果缺少網路要求資料,請注意下列事項:
常見問題
iOS 以上版本
Android
網頁
Project 首頁的成效資訊卡「主要問題」怎麼了?
我們已將重要問題 替換為近期快訊 ,做為後續追蹤之用
最近推出了幾項快訊功能,這項功能會在
您設定的閾值會跨越您設定的門檻問題已淘汰
並由快訊取代
成效資訊卡頂端的應用程式選取器會篩選「最近的警示」 下方的警示項目。針對
系統隨即會顯示所選應用程式。
如要進一步瞭解快訊,請參閱
設定效能問題快訊 。
在控制台中設定問題門檻的功能發生了什麼問題?
Performance Monitoring 支援快訊 指標超過
定義的閾值為了避免與以下項目的可自行設定閾值混淆:
我們移除了設定閾值的功能
問題 。
Firebase 控制台中的「詳細資料」和「指標」資訊發生了什麼事?
我們重新設計了「詳細資料」和「指標」頁面,全新重新設計的集中化介面
使用者介面 (UI),提升排解問題的方式。這項新功能
疑難排解 UI 所提供的核心功能與「詳細資料」和
提供指標。如要進一步瞭解疑難排解,請參閱:
查看特定追蹤記錄的其他資料 。
為什麼樣本數量與預期不符?
Performance Monitoring 會從應用程式的使用者裝置收集效能資料。如果您的
或應用程式產生大量效能
活動,Performance Monitoring 可能會將資料收集範圍限制在部分裝置
減少已處理的事件數這些上限值相當高,即使事件數量較少,指標值仍可代表使用者的應用程式體驗。
為管理我們收集的資料量,Performance Monitoring 會使用以下資料:
取樣選項:
裝置端頻率限制 :如何避免裝置突然傳送大量
追蹤,我們會限制從用戶端伺服器傳送的程式碼與網路要求追蹤數量
每 10 分鐘最多播放 300 個事件這種做法可防止裝置受到迴圈檢測工具的影響,因為迴圈檢測工具會傳送大量效能資料,並防止單一裝置扭曲效能測量結果。
動態取樣 :Performance Monitoring 收集的限制約為 1 億筆
每個應用程式每日的程式碼追蹤記錄事件和 1 億個網路要求追蹤記錄的事件
適用於所有應用程式使用者系統會在裝置上擷取動態取樣率 (使用
Firebase Remote Config ) 用於判斷隨機裝置是否應
擷取及傳送追蹤記錄。未選取用於取樣的裝置不會傳送任何事件。動態取樣率僅適用於應用程式,並調整為
確保收集的資料總量不超過限制。
使用者工作階段會從使用者的裝置傳送其他詳細資料,因此需要
更多資源來擷取與傳送資料為了將
工作階段數量,Performance Monitoring 可能也會限制工作階段數量。
伺服器端頻率限制 :確保應用程式不會超出取樣量
限制,Performance Monitoring 可能會使用伺服器端取樣功能捨棄部分事件
收到的訊息。雖然這種限制不會改變
這可能會導致數據模式改變,包括
包括:
追蹤記錄數量可能會與單一區塊
相關程式碼
在程式碼中緊密耦合的追蹤記錄,可能會各自有不同數量的追蹤記錄
樣本。
,瞭解如何調查及移除這項存取權。
注意: 特定取樣限制,且其應用程式可能會以 Performance Monitoring 變更
不斷進化。
控制台的「問題」 分頁怎麼了?
推出「快訊」功能,取代了「問題」分頁
會在超過設定的門檻時自動通知您。您不再需要手動查看 Firebase 控制台,即可判斷門檻狀態。如要瞭解快訊功能,請參閱「設定效能問題快訊 」一文。
控制台中的「裝置」 和「網路」 分頁發生什麼問題?如何查看這些網頁中的追蹤記錄?
我們重新設計了 Firebase 控制台的 Performance Monitoring 部分,
「Dashboard」(資訊主頁) 分頁會在單一空間顯示重要指標和所有追蹤記錄。阿斯
我們在重新設計時一併移除了「裝置上」 和「網路」 頁面。
「Dashboard」 分頁底部的追蹤記錄表格會顯示「On device」 和「Network」 分頁顯示的所有資訊,但會新增一些功能,例如可依特定指標的百分比變更排序追蹤記錄。如何查看特定所有 的指標和資料
追蹤記錄,請按一下追蹤記錄表格中的追蹤記錄名稱。
在追蹤記錄表的下列子分頁中查看追蹤記錄:
網路要求追蹤記錄 (現成和自訂) -「聯播網請求」 子分頁
自訂程式碼追蹤記錄 -「自訂追蹤記錄」 子分頁
應用程式啟動、應用程式前景、應用程式在背景中的追蹤記錄 - 「自訂追蹤記錄」 子分頁
畫面轉譯追蹤記錄 -「螢幕轉譯」 子分頁
網頁載入追蹤記錄 - 網頁載入 子分頁
如要進一步瞭解追蹤記錄表格並查看指標和資料,請前往
主控台總覽頁面
(iOS 以上版本 |
Android |
網頁 )。
為什麼緩慢影格和凍結影格的數量與預期不符?
轉譯速度緩慢的影格和凍結影格,都是以假設的裝置計算
刷新率為 60Hz。如果裝置刷新率低於 60 Hz,則每個影格
會使轉譯時間較慢,因為每秒轉譯的影格數較少。
如果轉譯時間較慢,系統可能會回報緩慢影格或凍結影格的數量
因為轉譯速度變慢或畫面凍結但如果裝置
刷新率高於 60 Hz,每個影格的轉譯時間都會更快。
這可能會導致回報的緩慢影格或凍結影格數量較少。這是
Performance Monitoring SDK 的限制。
如何新增
將 Performance Monitoring JS SDK (「獨立」SDK) 轉移至我的網頁應用程式?
如果 Performance Monitoring 是應用程式中唯一的 Firebase 產品,您可以使用
獨立的 Performance Monitoring SDK (以及下方建議的標頭指令碼),即可
感興趣的主題:
使用命名空間
縮減 SDK 套件大小
等到網頁載入後再執行 SDK 初始化作業
為了在應用程式中加入獨立的 Performance Monitoring SDK 並延遲
載入網頁後才執行初始化:
將下列指令碼新增至索引檔案標頭,
請務必新增應用程式的 Firebase 專案設定物件 。
( function ( sa , fbc ){ function load ( f , c ){ var a = document . createElement ( 'script' );
a . async = 1 ; a . src = f ; var s = document . getElementsByTagName ( 'script' )[ 0 ];
s . parentNode . insertBefore ( a , s );} load ( sa );
window . addEventListener ( 'load' , function (){ firebase . initializeApp ( fbc ) . performance ()});
})( performance_standalone , firebaseConfig );
其中:
performance_standalone 是
'https://www.gstatic.com/firebasejs/10.13.1/firebase-performance.js'
firebaseConfig 是應用程式的 Firebase 設定物件
上述指令碼會以非同步方式載入獨立 SDK,然後進行初始化
在視窗的 onload
事件觸發「之後」 啟用 Firebase。這項策略可減少 SDK 對網頁載入指標 的影響,因為瀏覽器在您初始化 SDK 時已回報其載入指標。
注意: 使用獨立的 Performance Monitoring SDK 時,您未明確加入
Firebase 核心 SDK,因為獨立 SDK 已包含專屬的 SDK
輕量的 Firebase 核心 SDK。
瞭解獨立 Performance Monitoring SDK 和標頭
腳本
這個獨立 SDK 已針對大小進行最佳化,經過 GZip 壓縮後,大小約為 10 KB。它有
Firebase Performance Monitoring 的所有功能,以及最基本的一組
也可以瞭解 Firebase 核心 SDK 功能
Firebase Performance Monitoring 會使用 fetch
和 Promise
API
舊版瀏覽器並不支援這項功能這些 API 的 polyfill 是由
包含在標準 Firebase Performance Monitoring JS SDK 中,但系統會省略這些
減少獨立作業的檔案大小
Performance Monitoring SDK 的部分仰賴
資源 Timing API
,以便在瀏覽器中取得網頁載入指標。
下列程式碼片段會細分出包含延遲的標頭指令碼
SDK 初始化作業:
( function ( sdkSource , firebaseConfigObject ) {
function load ( f , c ) {
// Creates a script tag to load the standalone SDK
var sdkScript = document . createElement ( 'script' );
// Sets it to an async script so that it doesn 't interfere with page load
sdkScript . async = 1 ;
// Sets the source of the script
sdkScript . src = f ;
// Inserts the script into the head of the page
var s = document . getElementsByTagName ( 'script' )[ 0 ];
s . parentNode . insertBefore ( sdkScript , s );
}
// Calls the load method
load ( sdkSource );
// Initializes the SDK only when the onload method is called
window . addEventListener ( 'load' , function () {
firebase . initializeApp ( firebaseConfigObject ) . performance ();
});
})( performance_standalone , firebaseConfig );
其中:
performance_standalone 為'https://www.gstatic.com/firebasejs/10.13.1/firebase-performance-standalone.js'
firebaseConfig 是應用程式的 Firebase 設定物件
近乎即時的資料處理和顯示
「近乎即時」效能資料是什麼意思?
Firebase Performance Monitoring 會在處理期間收集成效資料,
結果將以近乎即時的方式顯示在 Firebase 控制台。已處理
資料收集作業會在幾分鐘內顯示在控制台中,
提供「近乎即時」的字詞。
如要充分利用近乎即時的資料處理功能,請確認應用程式使用與即時處理相容的 SDK 版本 。
如何取得應用程式的近乎即時效能資料?
如要以近乎即時的方式處理資料,您只需要確保
應用程式使用與即時相容的 Performance Monitoring SDK 版本
資料處理。
以下是即時相容的 SDK 版本:
iOS - 7.3.0 以上版本
tvOS - 8.9.0 以上版本
Android - v19.0.10 以上版本 (或 Firebase Android BoM v26.1.0 以上版本)
網頁版 - 7.14.0 以上版本
請注意,我們建議您一律使用最新版 SDK,但
上述版本會讓「Performance Monitoring 」以近乎真實的方式處理您的資料
讓應用程式從可以最快做出回應的位置
回應使用者要求
哪些 Performance Monitoring SDK 版本可視為即時相容?
下列為與即時資料處理相容的 SDK 版本:
iOS :7.3.0 以上版本
tvOS - 8.9.0 以上版本
Android - v19.0.10 以上版本 (或 Firebase Android BoM v26.1.0 以上版本)
網頁版 - 7.14.0 以上版本
請注意,我們建議您一律使用最新版 SDK,但
上述版本會讓「Performance Monitoring 」以近乎真實的方式處理您的資料
讓應用程式從可以最快做出回應的位置
回應使用者要求
如果我不將應用程式更新為使用即時相容的 SDK 版本,會發生什麼情況?
如果您的應用程式未使用即時相容的 SDK 版本,您仍會看到
Firebase 控制台提供應用程式的所有效能資料。不過,螢幕
從資料擷取當下算起,成效資料大概會延遲 36 小時
集合。
我已更新至與即時相容的 SDK 版本,但有些使用者
仍持續使用舊版應用程式我會繼續查看成效嗎?
「Firebase 」控制台中的資料嗎?
當然可以!無論應用程式執行個體使用哪個 SDK 版本,您都會看到所有使用者的效能資料。
不過,如果您查看的是近期 資料 (不到 36 小時)
則顯示的資料來自應用程式執行個體的使用者
相容的 SDK 版本。沒有近期 的資料則會包含成效資料
。
如果發生以下情況:
與 Firebase 支援團隊聯絡 。
請務必附上 Firebase 應用程式 ID。在以下頁面找出您的 Firebase 應用程式 ID:
「您的應用程式」 資訊卡
settings 專案
設定 。