本文件說明可在 Rust 中寫入及讀取 Inspect 資料的程式庫。如需每個程式庫的具體說明文件,請參閱每個章節連結的 Crate 說明文件。
編寫檢查的程式庫
fuchsia-inspect
這是核心程式庫。這個程式庫提供用於建立節點、屬性、提供檢查等的核心 API,會在內部實作「檢查 vmo 格式」中所述的好友配置演算法。
如需檢查概念和 Rust 程式庫的簡介,請參閱程式碼研究室。
inspect-runtime
這個程式庫可讓元件提供檢查,並提供給架構師進行收集。
這僅供元件二進位檔使用,不適用於程式庫。之所以會這樣,是因為這個程式庫會提供 expect_includes
檢查,驗證元件資訊清單是否設定為公開檢查。
請避免依附程式庫中的 inspect-runtime
,這樣就不會強制測試新增檢查 client.shard.cml
。
fuchsia-inspect-contrib
這個程式庫旨在由用戶端對 Inspect 程式庫做出貢獻。這些是用戶端在檢查使用時識別的模式,可一般化及分享。其級別應高於 fuchsia-inspect
。
fuchsia-inspect-derive
這個程式庫可透過 #[derive(Inspect)]
程序巨集輕鬆管理 Rust 程式中的檢查資料。這會在高於 fuchsia-inspect
的層級生效。如要進一步瞭解這個程式庫,請參閱「Ergonomic 檢查」。
可用於閱讀檢查的程式庫
這些程式庫並非檢查專用,而是用於各種診斷資料。
diagnostics-hierarchy
此程式庫包含方便測試的便利巨集 assert_data_tree
以及 DiagnosticsHierarchy
的定義,這並非檢查專屬,也用於記錄和其他診斷資料來源。
diagnostics-testing
這個程式庫包含便利的 EnvForDiagnostics
,很適合用來測試檢查舊版元件的整合作業。
diagnostics-reader
這個程式庫包含便利的 ArchiveReader
,可用於在測試或實際工作環境中,從封存人員擷取檢查資料。會納入連線到 ArchiveAccessor
並從中擷取資料的共用邏輯。
其他
inspect_format
這個程式庫提供的 API 可用於讀取及寫入檢查 VMO 格式區塊。