擷取及分析效能分析資料

本頁說明如何擷取追蹤記錄,並在 Perfetto UI 中以視覺化方式呈現。

擷取追蹤記錄

記錄設定檔後,追蹤記錄會儲存在裝置上。您必須先擷取這些追蹤記錄,才能進行分析。

追蹤位置資訊由 ProfilingResult.getResultFilePath() 提供。如要瞭解如何取得追蹤記錄位置資訊,請參閱「如何擷取設定檔」。取得追蹤記錄的位置後,即可將追蹤記錄上傳至伺服器。

本機測試:使用 ADB 擷取追蹤記錄

使用 adb 取得追蹤記錄,有助於檢查效能及在本機進行偵錯。

系統會將已遮蓋的追蹤記錄儲存在裝置檔案中。儲存設定檔的一般路徑如下:

/data/user/0/<app>/files/profiling/profile<tag><datetime>.perfetto-trace

地點:

  • <app> 是應用程式名稱。
  • <datetime> 是擷取追蹤記錄的日期和時間。
  • <tag> 是使用 setTag 設定的使用者提供的代碼

如果已啟用並儲存未經過編輯的追蹤記錄,請使用下列 adb 指令從裝置中擷取這些記錄:

adb pull /data/misc/perfetto-traces/profiling/<trace-name>.perfetto-trace-unredacted

以視覺化方式呈現追蹤記錄

將追蹤記錄擷取到電腦後,即可在 Perfetto UI 中查看

已遮蓋的追蹤記錄範例
圖 1.:遮蓋追蹤記錄範例。

在經過修訂的追蹤記錄中,「OtherProcesses」部分會合併其他程序的所有 CPU 活動。合併程序可確保其他程序執行的作業不會外洩。

不過,您還是可以透過查看這項 CPU 活動組合,確認系統在錄製期間是否過載。檢查系統活動有助於判斷應用程式速度緩慢的原因是內部問題,還是系統整體速度緩慢。

下圖標示並簡要說明追蹤記錄中顯示的主要部分:

經過修訂的追蹤記錄區段
圖 2.:已遮蓋追蹤記錄的區段。
  1. CPU 清單:顯示裝置上所有可用的處理器。
  2. CPU 工作:顯示每個 CPU 執行的執行緒。
  3. 其他程序檢視畫面:顯示其他程序耗用的 CPU 資源。
  4. 程序檢視畫面:顯示應用程式的程序。
  5. 執行緒檢視畫面:顯示在程序中執行的執行緒及其執行緒狀態 (可執行 (R)、執行中 (R)、休眠 (S)、不中斷休眠 (D)),這些狀態會直接對應至 Linux 程序狀態。
  6. 追蹤記錄片段:這個部分會顯示應用程式開發人員或架構新增的追蹤記錄註解。這些註解涵蓋 Trace.beginSectionTrace.endSection 之間的計算。

如要進一步瞭解 Perfetto UI 和追蹤記錄視覺化功能,請參閱 Perfetto 說明文件