Rust 程式庫

本文件說明可在 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 格式區塊。