Rust 库

本文档介绍了在 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 格式的块。