命令监控
概述
本指南展示了如何使用Rust驱动程序来监控驱动程序发送到您的MongoDB部署的命令的结果。
您可以在应用程序中使用有关命令事件的信息,或者监控命令以了解更多关于驱动程序如何执行它们的信息。
本指南包括以下部分
事件描述
您可以监控以下命令事件
事件名称 | 描述 |
---|---|
当命令开始时创建。 | |
当命令成功时创建。 | |
当命令未成功时创建。 |
事件监控示例
您可以通过将一个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
CommandStartedEvent { request_id: 12, db: "testdb", command_name: "find", connection: ..., command: ..., service_id: ... }
CommandSucceededEvent
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 文档
要了解更多关于本指南中提到的方法和类型的信息,请参阅以下 API 文档