遥测客户端是一种应用,可与遥测服务交互,以配置数据收集、管理指标配置和接收遥测报告。客户端使用 libsdv_telemetry_rust_wrapper Rust 库与服务交互。
API Surface 概览
如需查看 API 文档,请参阅 Rust 遥测客户端库 API 参考文档。
该库提供了一个 Rust 接口,用于与底层遥测服务交互。该库负责以下方面:
服务生命周期管理 :管理与遥测服务的连接。
- 初始化 :使用阻塞调用建立与服务的连接。连接后,您可以注册回调,以接收有关系统状态和新报告可用性的异步通知。
- 关闭 :提供一种以正常方式断开与服务的连接并清理所有关联资源的方法。
指标配置生命周期管理:控制 指标配置的生命周期。
- 管理 :客户端可以添加、移除、激活和停用指标配置。
- 检查 :您可以查询活跃和非活跃配置的列表。
报告处理和检索 :方便访问遥测服务收集的数据。
- 通知 :每当有新的指标报告可供检索时,都会使用回调以异步方式通知客户端。
- 数据访问权限 :提供按 UUID 提取特定报告以及检索所有可用报告列表的方法。
状态和错误报告 :深入了解遥测服务的运行状况和状态。
- 异步状态更新 :客户端通过专用回调接收实时状态更新,包括错误和警告。 这样,您就可以实现强大的错误处理并监控服务的状态。
用法示例
如需查看演示完整生命周期的完整可编译应用,请参阅示例客户端实现:samples/telemetry/client/rust/telemetry_client/telemetry_rust_c_client.rs。
示例客户端是一个命令行实用程序,可与完整的库 API 交互。该示例演示了如何使用通道将库的回调接口与异步 Rust 运行时 (Tokio) 连接起来。
客户端执行以下操作序列:
- 建立与遥测服务的连接,并为状态更新和指标报告通知注册回调。
- 读取作为命令行实参提供的指标配置文件,然后在服务中添加并激活配置。
- 使用后台任务记录从服务收到的异步状态消息(错误或警告)。
- 通过执行以下操作来管理数据检索循环:
- 等待指标报告已准备就绪的通知。
- 提取完整的指标报告数据。
- (可选)将报告作为二进制协议缓冲区文件写入磁盘。
- 从服务中移除指标配置,因为该服务会生成第一个指标报告。请注意,这是一个演示实现,您自己的客户端可以接收任意数量的报告。
- 以正常方式关闭与服务的连接。