Fuchsia 上的診斷和觀測能力

Fuchsia 提供各種系統,可用於觀察執行中的 Fuchsia 系統。每個可觀察性系統都會提供不同的資訊和權衡。可觀察性系統如下:

記錄

記錄在診斷作業中扮演重要角色,因為它們會描述 Fuchsia 系統中發生的事件,並以人類可讀的方式呈現。在 Fuchsia 中,元件可以透過 fuchsia.logger.LogSink 通訊協定記錄記錄訊息。sdk/lib/syslog/cppsrc/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 上執行程式碼的控制台模式偵錯工具。

您也可以:

您也可以按照診斷程式碼研究室的操作說明:

您也可以按照追蹤教學課程和指南操作: