文档菜单
文档首页
/ / /
Rust 驱动
/ /

命令监控

本页内容

  • 概述
  • 事件描述
  • 事件监控示例
  • 示例事件文档
  • CommandStartedEvent
  • CommandSucceededEvent
  • CommandFailedEvent
  • 附加信息
  • API 文档

本指南展示了如何使用Rust驱动程序来监控驱动程序发送到您的MongoDB部署的命令的结果。

您可以在应用程序中使用有关命令事件的信息,或者监控命令以了解更多关于驱动程序如何执行它们的信息。

本指南包括以下部分

  • 事件描述描述了驱动程序可以生成的命令事件。

  • 事件订阅示例提供示例代码,展示如何订阅命令事件。

  • 示例事件文档提供了每个命令事件的示例。

  • 附加信息提供了有关本指南中提到的类型和方法的相关资源和API文档链接。

您可以监控以下命令事件

事件名称
描述
当命令开始时创建。
当命令成功时创建。
当命令未成功时创建。

您可以通过将一个EventHandler实例作为command_event_handler客户端选项的值来监控命令事件。要构造一个处理所有命令事件的EventHandler,请使用callback()async_callback()方法。

以下示例连接到MongoDB部署,指示客户端监控命令事件,并打印每个事件

let mut client_options = ClientOptions::parse("<connection string>").await?;
client_options.command_event_handler = Some(EventHandler::callback(|ev| println!("{:?}", ev)));
let client = Client::with_options(client_options)?;
// ... perform actions with the client to generate events

以下部分显示了每种命令监控事件的示例输出。

CommandStartedEvent {
request_id: 12,
db: "testdb",
command_name: "find",
connection: ...,
command: ...,
service_id: ...
}
CommandSucceededEvent {
duration: ...,
reply: ...,
command_name: "find",
request_id: 12,
connection: ...,
service_id: ...,
}
CommandFailedEvent {
duration: ...,
command_name: "find",
failure: ...,
request_id: 12,
connection: ...,
service_id: ...,
}

要了解更多关于监控 MongoDB 部署的信息,请参阅 如何监控 MongoDB 文章。

要了解更多关于执行 MongoDB 操作的信息,请参阅CRUD 操作 指南。

要了解更多关于本指南中提到的方法和类型的信息,请参阅以下 API 文档

返回

集群监控