Fuchsia 提供各種系統,可用於觀察執行中的 Fuchsia 系統。每個可觀察性系統都會提供不同的資訊和權衡。可觀察性系統如下:
記錄
記錄在診斷作業中扮演重要角色,因為它們會描述 Fuchsia 系統中發生的事件,並以人類可讀的方式呈現。在 Fuchsia 中,元件可以透過 fuchsia.logger.LogSink
通訊協定記錄記錄訊息。sdk/lib/syslog/cpp
和 src/lib/diagnostics/log/rust
是支援在 Fuchsia 上記錄記錄的程式庫。這些程式庫提供編碼器實作,可用於標記、結構化鍵/值組合、中繼資料、訊息和 fuchsia.logger.LogSink
整合。如要進一步瞭解 Fuchsia 元件如何寫入記錄,請參閱「記錄記錄」。
如果您想執行下列操作,建議您使用記錄功能:
- 查看人類可讀的低頻率訊息和事件。
- 在快照和其他 Fuchsia 工具中查看資料。
追蹤
Fuchsia 的追蹤系統提供全面性方法,可從 Fuchsia 使用者空間程序和 Zircon 核心收集、匯總及視覺化診斷追蹤資訊。追蹤記錄和記錄一樣,也代表 Fuchsia 系統的事件,但追蹤記錄更精細、頻率更高,且可供機器使用,用於計算其他深入分析和視覺化資料。結合結構化記錄和追蹤功能,有助您更有效率地診斷、偵錯及排解各種 Fuchsia 目標裝置的問題。
如果您不需要即時查看資料,但希望能夠:
- 收集精細的結構化資料,精確到小於 1 微秒。
- 在互動式檢視器中以視覺化方式呈現資料。
- 使用 SQL 查詢及匯總資料。
檢查
Fuchsia 提供檢查功能,可讓 Fuchsia 元件揭露目前狀態的結構化診斷資訊。接著,您可以使用 ffx inspect
工具查詢這項診斷資訊。詳情請參閱「Fuchsia 元件檢查」和 ffx inspect
。
如果您想執行下列操作,建議使用檢查工具:
- 監控特定時間點的元件狀態。
- 代表元件目前狀態和近期歷來歷史的相關資訊。
- 收集元件狀態的低頻率快照資料,以便啟用全車隊指標。
- 在快照和工具中查看檢查資料。
- 建立圖表、分析,並根據快照建立自動異常偵測功能。
鈷豔藍
Cobalt 是一種管道,可從使用者擁有的裝置收集指標資料,並產生匯總報表。
Cobalt 包含一套功能,可保護使用者的隱私權和匿名性,同時提供產品擁有者改善產品所需的資料。
使用 Cobalt 時,建議您使用 Inspect 對元件進行檢測。如果元件已使用 Inspect 進行檢測,Sampler 會將 Inspect 診斷資料轉送至 Cobalt 遙測系統,以便進行車隊監控。
如要進一步瞭解 Cobalt,請參閱「Cobalt:內建隱私權保護機制的遙測資料 」。
快照
Fuchsia 裝置可擷取快照,其中包含整個系統目前狀態的相關資訊。這包括系統上執行的 Fuchsia 版本、核心和系統記錄,以及系統及其元件的檢查資料。您也可以使用 ffx target snapshot
工具擷取快照。
偵測
此外,Fuchsia 裝置會執行 Detect,可根據定期擷取一組元件檢查資料的快照,並檢查各種條件,如果為真,就會觸發停止運作或意見回饋報告。
使用診斷和觀測功能
您可以使用 Fuchsia 記錄、檢查和追蹤功能來診斷問題,建議您使用以下工具:
ffx log
可從 Fuchsia 裝置擷取記錄。ffx target snapshot
,擷取 Fuchsia 目標裝置的狀態快照。ffx triage
可分析記錄,並檢查 Fuchsia 快照中的元件。ffx inspect
:透過 Inspect API 查詢元件公開的資料。ffx trace
:收集、匯總及以圖表呈現診斷追蹤資訊。- zxdb 來偵錯在 Fuchsia 上執行的程式碼。zxdb 是用於在 Fuchsia 上執行程式碼的控制台模式偵錯工具。
您也可以:
您也可以按照診斷程式碼研究室的操作說明:
您也可以按照追蹤教學課程和指南操作: