本文档介绍了在 Rust 中可用于写入和读取检查数据的库。如需查看每个库的具体文档,请参阅每个部分中链接的 crate 文档。
用于编写 Inspect 的库
fuchsia-inspect
这是核心库。此库提供了用于创建节点、属性、提供 Inspect 等的核心 API。它在内部实现了检查 vmo 格式中所述的伙伴分配算法。
有关 Inspect 概念和 Rust 库的介绍,请参阅 Codelab。
inspect-runtime
借助此库,组件能够提供 Inspect 功能,并使其可供 Archivist 用于收集。
它只能由组件二进制文件使用,而不能由库使用。原因在于,此库会提供 expect_includes
检查,以验证组件清单是否已配置为公开 Inspect。
避免依赖于库中的 inspect-runtime
,以免强制测试添加 Inspect client.shard.cml
。
fuchsia-inspect-contrib
此库用于客户端为 Inspect 库贡献代码。这些是客户端在使用 Inspect 时确定的模式,可进行泛化和共享。它级别高于 fuchsia-inspect
。
fuchsia-inspect-derive
此库提供了一种便捷的方法,让您能够通过 #[derive(Inspect)]
过程宏管理 Rust 程序中的检查数据。这适用于高于 fuchsia-inspect
的级别。如需详细了解此库,请参阅人体工程学检查。
用于读取 Inspect 的库
这些库并非特定于 Inspect,而是用于各种诊断数据。
diagnostics-hierarchy
此库包含用于测试的便捷宏 assert_data_tree
,以及 DiagnosticsHierarchy
的定义,该定义并非 Inspect 所独有,还用于日志和其他诊断数据源。
diagnostics-testing
此库包含便捷的 EnvForDiagnostics
,可用于测试 Inspect 与旧版组件的集成。
diagnostics-reader
此库包含便捷的 ArchiveReader
,对于从测试或生产环境中的归档管理器提取检查数据非常有用。它封装了连接到 ArchiveAccessor
并从中提取数据的共享逻辑。
其他
inspect_format
此库提供了一个 API,用于读取和写入检查 VMO 格式的块。