效能迴歸問題向來難以重現,因此成為行動應用程式開發人員的一大瓶頸。雖然 ANR 率等信號會指出實際工作環境中發生的哪些問題,但要找出導致效能問題的特定程式碼行,過去需要詳盡的手動重現或試誤實驗。
為解決這個問題,Datadog 與 Google 合作,將 ProfilingManager API (適用於 Android 15 以上版本裝置) 整合至 Real User Monitoring (RUM) 和 Continuous Profiling 平台。這項整合功能可改變偵錯工作流程,讓開發人員不只瞭解表面症狀,還能偵測效能瓶頸背後的原因。
根據 2026 年 6 月的 Datadog 內部資料,Datadog 現在每週會運用這個系統層級的 API,在全球處理數百萬個生產設定檔。工程團隊可藉此深入瞭解實際效能,同時維持低執行階段負荷,以監控大規模生產的效能。
ProfilingManager 的影響
ProfilingManager 是 Android 15 推出的系統服務,可讓應用程式直接從正式環境,以程式輔助方式收集成效資料,例如呼叫堆疊樣本、欄位追蹤和記憶體快照資料。這項功能可將工程思維從被動手動重現,轉變為主動現場分析。
舉例來說,Google 通訊應用程式使用欄位追蹤功能,調查為何在效能更強大的新硬體上,冷啟動時間較慢。工程師深入研究現場收集的追蹤記錄,並比較不同裝置類型的追蹤記錄,發現隱藏的排程問題:應用程式啟動期間,系統會不必要地預先啟動背景文字轉語音服務。追蹤記錄顯示,這個背景程序占用了裝置效能最高的 CPU 大核心,導致應用程式的主要執行緒在預熱期間進入休眠狀態。
解決 Android 程式碼層級的可視度問題
在導入 ProfilingManager 之前,Datadog 的真人使用者監控 (RUM) 著重於高階應用程式健康狀態和工作階段層級遙測,以評估使用者歷程。工程團隊可以監控 Android 效能信號,例如初始顯示時間、ANR 率、CPU 負載和凍結影格。這些洞察資料擴展到細微的互動,例如網路延遲、觸控事件和主執行緒停止回應。不過,雖然這項資料有效突顯了現場出現的效能瓶頸,但無法清楚指出這些失敗的根本原因。
為解決這個問題,Datadog 需要剖析引擎,能夠直接從實際運作的裝置擷取 Android 追蹤記錄,且對效能的影響極小。在評估替代方法 (例如使用 Android Debug API 編寫自己的追蹤處理器) 後,團隊選取了 ProfilingManager,因為這是他們評估的剖析選項中效能最高的解決方案,而且可將取樣決策的負擔卸載至 OS。
ProfilingManager 支援各種收集方法,包括 CPU 追蹤記錄、呼叫堆疊取樣、透過 Java 堆積傾印和原生堆積設定檔進行記憶體分析。開發人員可以透過這項功能分析正式版建構作業、將追蹤記錄檔案上傳至外部儲存空間,並在 Perfetto 追蹤記錄分析器 UI 中查看這些檔案。SaaS 供應商 Datadog 會上傳、顯示及分析透過 SDK 收集的這些設定檔,提供應用程式健康狀態的整合式資料檢視。
ProfilingManager 透過統一的觀測 API 集中管理高保真遙測資料,並提供下列主要技術優勢,協助 Datadog 和客戶主動監控、調查及修正複雜的 Android 效能回歸問題:
- 精細的會期診斷: ProfilingManager 可直接提供作業系統層級的追蹤資料,克服系統服務自訂記錄的常見可見度和對齊問題,進而提升偵錯能力。如要深入瞭解,開發人員可以從 Datadog 下載這些追蹤記錄,並在 Perfetto UI 等視覺化工具中進一步調查。
- 自動遙測觸發條件: Datadog 會運用原生系統事件,在重要最佳化點啟動追蹤記錄,減少建構自訂收集邏輯的需求。雖然初期推出時會著重於 APP_FULLY_DRAWN 信號,但我們已規劃擴大這項觀測能力,納入 ANR、OOM 和 COLD_START 觸發條件。
- 主動式追蹤記錄快照: ProfilingManager 會直接與系統層級的 Perfetto 服務 (追蹤記錄) 介接,並使用主動式背景記錄模型,擷取無法預測的問題。這可確保開發人員準確掌握導致效能異常狀況的事件,並提供手動檢測無法達成的洞察程度。
- 大規模偵測瓶頸: Datadog 能夠綜合分析 Datadog 全球客戶群的遙測資料,找出只會在特定硬體設定和多變的網路環境中出現的迴歸。
- 系統強制執行的資源穩定性: API 會運用取樣追蹤記錄收集功能,確保效能和使用者體驗不受影響。
- 裝置端資料控管: 在設定檔傳送至應用程式前,ProfilingManager 會先濾除裝置上其他程序的不相關資訊,盡量縮小檔案大小,並確保只提供與應用程式程序相關的資料。
每週處理數百萬個設定檔,以最佳化實際應用程式
將系統層級的剖析 API 整合到全球監控 SDK 中,需要解決基礎架構方面的挑戰。由於 ProfilingManager 會產生非常詳細的效能追蹤記錄,Datadog 工程團隊必須建構管道,以便在伺服器端大規模剖析及分析這些設定檔。除了收集設定檔,Datadog 也強調平衡取樣頻率的重要性,同時收集足夠的資料,以產生有關應用程式的實用洞察資訊。Datadog 依賴 ProfilingManager 的內建速率限制,做為重要的穩定性防護措施,可防止過多的遙測要求造成使用者裝置過載。
這個團隊已分析 Datadog 自己的原生 Android 應用程式,以及多個早期採用者應用程式,收集數百萬個設定檔,確保推出時能提供快速且無錯誤的體驗,並改善效能偵測演算法。如今,這項整合功能已可順暢地擴展至各種 Android 裝置。
結論
Datadog 整合 Android 的 ProfilingManager API 後,成功為客戶縮小後端系統與行動用戶端應用程式之間的能見度差距。Datadog 每週會處理數百萬個設定檔,裝置負擔微乎其微,因此 Android 開發人員可取得程式碼層級的洞察資料,立即診斷複雜的效能錯誤,進而打造更流暢的應用程式,並改善應用程式在 Play 商店中的效能信號。如要直接在效能觀測能力框架中採用 ProfilingManager API,請參閱我們的說明文件。
Datadog 的目標是讓 Android 剖析資料成為編碼代理的主要輸入內容,以便自主解決效能瓶頸,縮短偵測和補救措施之間的意見回饋循環。Datadog 致力於讓開發人員廣泛存取 Android 剖析功能。
如要開始使用由 ProfilingManager 支援的 Datadog 實際使用者監控功能,請前往「 Datadog Mobile Real User Monitoring」。
-
個案研究Karrot 是一款以社群為導向的超區域點對點市集應用程式,使用者可與其他已驗證的使用者買賣和交易商品。該平台於 2015 年在韓國推出,隨後擴展至全球市場,目前已累積超過 4,300 萬名註冊使用者。
Thomas Ezan, Tracy Agyemang • 2 分鐘小故事 -
使用指南雖然應用程式效能通常等同於流暢的 UI 和快速的啟動時間,但記憶體是建構這些可見指標的無聲基礎。眾所皆知,裝置記憶體的重要性與日俱增。
Alice Yuan, Ajesh Pai, Fung Lam • 10 分鐘小故事 -
個案研究FotMob 最近在 Wear OS 上的安裝人數,創下 5 年來單日最大增幅,達到每日平均的 2 到 3 倍。秘訣是什麼?簡單的跨裝置安裝流程,可協助使用者直接透過手機探索 Wear OS 應用程式。
Garan Jenkin • 3 分鐘小故事
每週透過電子郵件接收最新的 Android 開發洞察資訊。