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

连接池监控

本页内容

  • 概述
  • 事件描述
  • 事件监控示例
  • 示例事件文档
  • PoolCreatedEvent
  • PoolReadyEvent
  • PoolClearedEvent
  • PoolClosedEvent
  • ConnectionCreatedEvent
  • ConnectionReadyEvent
  • ConnectionClosedEvent
  • ConnectionCheckOutStartedEvent
  • ConnectionCheckoutFailedEvent
  • ConnectionCheckedOutEvent
  • ConnectionCheckedInEvent
  • 更多信息
  • API 文档

本指南向您展示如何使用Rust驱动来监控驱动程序的连接池。连接池是驱动程序与MongoDB实例维护的一组打开的传输控制协议(TCP)连接。连接池有助于减少应用程序需要创建的新连接数量,这可能使应用程序运行更快。

您可以在应用程序中使用连接池更改的信息,或者监控连接池以了解驱动程序如何使用连接。

本指南包括以下部分

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

  • 事件订阅示例提供了示例代码,展示了如何订阅连接池事件。

  • 示例事件文档提供了每个连接池事件的样本。

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

您可以监控以下连接池事件

事件名称
描述
在创建连接池时创建。
在连接池准备就绪时创建。
在清除连接池时创建。
在关闭连接池,但在销毁服务器实例之前创建。
在创建连接时创建,但不一定是用于操作时。
在连接成功完成握手并准备好用于操作后创建。
在关闭连接时创建。
当操作尝试获取连接以执行时创建。
当操作无法获取连接以执行时创建。
当操作成功获取连接以执行时创建。
在操作执行后,将连接检查回池中时创建。

您可以通过将一个EventHandler实例作为值分配给cmap_event_handler客户端选项来监控连接池事件。为了构建一个处理所有连接池事件的EventHandler,请使用callback()async_callback()方法。

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

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

以下各节显示了每种类型连接池监控事件的示例输出。

PoolCreatedEvent {
address: ...,
options: {...}
}
PoolReadyEvent {
address: ...
}
PoolClearedEvent {
address: ...,
service_id: ...,
}
PoolClosedEvent {
address: ...
}
ConnectionCreatedEvent {
address: ...,
connection_id: 1
}
ConnectionReadyEvent {
address: ...,
connection_id: 1
}
ConnectionClosedEvent {
address: ...,
connection_id: 1,
reason: ...,
/* private fields */
}
ConnectionCheckOutStartedEvent {
address: ...,
}
ConnectionCheckOutFailedEvent {
address: ...,
reason: ...,
/* private fields */
}
ConnectionCheckedOutEvent {
address: ...,
connection_id: 1
}
ConnectionCheckedInEvent {
address: ...,
connection_id: 1
}

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

要了解有关连接到 MongoDB 的更多信息,请参阅连接指南.

要了解有关提高您应用程序性能的更多信息,请参阅关于性能考虑因素的指南。

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

返回

命令监控