监控
Overview
在此页面,您可以学习;了解如何在MongoDB .NET/ C#驱动程序中配置监控。监控是在应用程序运行时收集有关应用程序性能和资源使用情况的信息的进程。 这可以帮助您在设计和调试应用程序时做出明智的决策。
驾驶员通过发出事件来提供有关应用程序的信息。 您可以订阅这些驾驶员事件来监控您的应用程序。
事件类型
驾驶员发出的事件类型取决于正在执行的操作。 下表描述了驾驶员发出的事件类型:
eventType | 说明 |
---|---|
命令事件 | |
服务器发现和监控 (SDAM) 事件 | 与MongoDB 部署状态更改相关的事件。 |
连接池事件 | 与驾驶员持有的连接池相关的事件。 |
订阅事件
要监控事件,您必须在 MongoClient
实例上订阅侦听器方法。 以下步骤描述了如何订阅事件:
创建一个
MongoClientSettings
对象。将
MongoClientSettings
对象上的ClusterConfigurator
属性设置为接受ClusterBuilder
对象的Lambda函数。在Lambda函数中,对您要订阅的每个事件的
ClusterBuilder
对象调用Subscribe<TEvent>()
方法。 将TEvent
替换为事件类型。 将事件处理程序方法作为参数传递给Subscribe<TEvent>()
方法。
以下代码示例展示了如何订阅ClusterOpenedEvent
、ServerHeartbeatSucceededEvent
和 ConnectionPoolReadyEvent
。 此示例假定 ClusterEventHandler
、HeartbeatEventHandler
和 ConnectionPoolEventHandler
方法是在代码中的其他位置定义的。
var clientSettings = MongoClientSettings.FromConnectionString(MongoConnectionString); clientSettings.ClusterConfigurator = clusterBuilder => { clusterBuilder .Subscribe<ClusterOpenedEvent>(ClusterEventHandler) .Subscribe<ServerHeartbeatSucceededEvent>(HeartbeatEventHandler) .Subscribe<ConnectionPoolReadyEvent>(ConnectionPoolEventHandler); };
提示
您可以订阅任意数量的事件,这些事件可以有不同的类型。
API 文档
要学习;了解有关用于监控驾驶员中的事件的方法和类的更多信息,请参阅以下API文档: