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

本頁面說明如何使用 Fuchsia 追蹤系統,在 Fuchsia 裝置上記錄及顯示追蹤記錄。

必要條件

許多現有的 Fuchsia 元件已註冊為追蹤記錄供應商,這些元件的追蹤記錄資料通常足以提供系統的概覽。因此,如果您只需要記錄一般追蹤記錄 (例如在錯誤報告中加入詳細資料),可以繼續閱讀下方的章節。不過,如要從特定元件收集額外的自訂追蹤事件,請先完成下列工作:

錄製追蹤記錄

如要從主體機器記錄 Fuchsia 裝置上的追蹤記錄,請執行下列指令:

ffx trace start --duration <SECONDS>

這項指令會使用預設設定啟動追蹤作業,擷取目標裝置的一般總覽。

追蹤作業會持續指定時間 (如未指定時間,則會持續到按下 ENTER 鍵為止)。追蹤完成後,追蹤資料會自動儲存至目前目錄中的 trace.fxt 檔案 (可指定 --output 旗標來變更;例如 ffx trace start --output <FILE_PATH>)。如要將儲存在這個檔案中的追蹤結果視覺化,請參閱下方的「將追蹤記錄視覺化」一節。

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

Fuchsia 追蹤格式 (.fxt) 是 Fuchsia 的二進位格式,可直接編碼原始追蹤資料。如要以視覺化方式呈現 .fxt 追蹤記錄檔案,可以使用 Perfetto 檢視器

您可以使用下列任一方法,將追蹤結果視覺化:

  • 上傳至 GCS:錄製時傳遞 --upload 標記 (例如 ffx trace start --upload)。追蹤完成後,追蹤記錄會上傳至 Google Cloud Storage (GCS),輸出內容中會顯示 Perfetto 追蹤記錄檢視器的直接連結。
  • 手動開啟本機檔案:
    1. 在網路瀏覽器中前往 Perfetto 檢視器網站。
    2. 按一下導覽列中的「開啟追蹤記錄檔」
    3. 從主體機器選取 .fxt 檔案。

您也可以使用 SQL 查詢追蹤記錄資料。如需實用的查詢配方和自動分類工具,請參閱「使用 PerfettoSQL 和 fx perf-analyze 分析追蹤記錄」。

類別

你可以透過類別控管要查看的事件。例如:

  • 使用所有預設類別和「cat」進行追蹤:
  ffx trace start --categories '#default,cat'
  • 沒有預設值的追蹤記錄,只有排程器和執行緒/程序資料:
  ffx trace start --categories "kernel:sched,kernel:meta"

實用類別

kernel:sched + kernel:meta

詳細瞭解每個 CPU 執行的內容

kernel:sched 資訊

kernel:ipc

為每個 FIDL 呼叫發出事件,並將這些事件與流程連結

kernel:ipc 資訊

kernel:syscall

針對全系統的每個系統呼叫發出事件

gfx 資訊

gfx

查看影格時間細目

gfx 資訊