Rust 库
本文档讲述了在 Rust 中,有哪些库可用于写入和读取审视(Inspect)数据。对于每个库的特定文档,请参阅在各部分链接的 crate 文档。
写入审视的库
fuchsia-inspect
这是核心库。该库为创建节点、创建属性、服务审视(Inspect)等提供了核心 API。内在地,它实现了在审视 VMO 格式中描述的伙伴分配算法(the buddy allocation algorithm)。
inspect-runtime
该库启用了组件来服务审视,并使其可供归档器(the Archivist)收集。
它旨在仅由组件二进制文件使用,而非由库使用。其原因是该库提供了 expect_includes
(期望包含)检查,以验证该组件清单配置为公开审视(expose Inspect)。
请避免依赖来自库的 inspect-runtime
(审视时),以便测试不被强制添加 client.shard.cml
审视。
fuchsia-inspect-contrib
该库是用于来自客户端的针对审视库的贡献的。这些是客户端在使用审视时识别的模式,它们可以将其概括与共享。其旨在处于比 fuchsia-inspect
更高的层次。
fuchsia-inspect-derive
该库提供了一个在 Rust 程序中通过 #[derive(Inspect)]
过程宏(procedural macro)管理审视数据的便捷方式。它工作在比 fuchsia-inspect
更高的层次上。要获取更多信息,请参阅工效学审视
读取审视的库
这些库并非审视专用,它们用于各类诊断数据。
diagnostics-hierarchy
该库包含了用于测试的便捷的 assert_data_tree
宏,以及 DiagnosticsHierarchy
(诊断层次)的定义,它并非审视独有,而是也用于日志和其他诊断数据源。
diagnostics-testing
该库包含便捷的 EnvForDiagnostics
,它对于测试 Components v1 中的审视整合情况很有用。
diagnostics-reader
该库包含了便捷的 ArchiveReader
,在测试或生产中,它在取回来自归档器的审视数据方面很有用。它包装了连接至 ArchiveAccessor
并从中取回数据这一共享逻辑。
其他
inspect_format
该库提供了用于读取和写入审视 VMO 格式块(block)的 API。