本頁面說明如何使用 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 追蹤記錄檢視器的直接連結。 - 手動開啟本機檔案:
- 在網路瀏覽器中前往 Perfetto 檢視器網站。
- 按一下導覽列中的「開啟追蹤記錄檔」。
- 從主體機器選取
.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:ipc
為每個 FIDL 呼叫發出事件,並將這些事件與流程連結
kernel:syscall
針對全系統的每個系統呼叫發出事件
gfx
查看影格時間細目