Overview
本指南向您展示如何使用 Rust 驱动程序监控驱动程序发送到 MongoDB 部署的命令的结果。
您可以使用有关应用程序中命令事件的信息,也可以监控命令以了解有关驱动程序如何执行这些命令的更多信息。
本指南包括以下部分:
Event Descriptions describes the command events that the driver can generate
事件订阅示例提供了示例代码,演示如何订阅命令事件
事件文档示例提供每个命令事件的示例
附加信息提供了本指南中提到的类型和方法的资源和 API 文档链接
事件描述
您可以订阅以下一个或多个命令监控事件:
事件名称 | 说明 |
|---|---|
在命令启动时创建。 | |
命令成功时创建。 | |
命令不成功时创建。 |
事件订阅示例
您可以通过在应用程序中订阅来访问一个或多个命令事件。 以下示例连接到 MongoDB 部署并订阅CommandStartedEvent事件类型:
struct CommandStartHandler; impl CommandEventHandler for CommandStartHandler { fn handle_command_started_event(&self, event: CommandStartedEvent) { eprintln!("Command started: {:?}", event); } } let handler: Arc<dyn CommandEventHandler> = Arc::new(CommandStartHandler); client_options.command_event_handler = Some(handler); 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
CommandFailedEvent { duration: ..., command_name: "find", failure: ..., request_id: 12, connection: ..., service_id: ..., }
更多信息
To learn more about monitoring a MongoDB deployment, see the How to Monitor MongoDB article.
要学习;了解有关执行MongoDB操作的更多信息,请参阅增删改查操作部分。
API 文档
要进一步了解本指南所提及的方法和类型,请参阅以下 API 文档: