Overview
En esta página, puedes aprender a configurar la supervisión en el MongoDB .NET/C# Driver. La supervisión es el proceso de recopilación de información sobre el rendimiento y uso de recursos de su aplicación mientras se está ejecutando. Esto puede ayudarlo a tomar decisiones informadas al diseñar y depurar su aplicación.
El controlador proporciona información sobre su aplicación al emitir eventos. Puede suscribirse a estos eventos del controlador para supervisar su aplicación.
Nota
Registro de eventos
Esta página explica cómo supervisar la aplicación en el código. Para aprender cómo registrar esta información en un registro externo, consulta Registro.
Tipos de eventos
El tipo de evento que el controlador emite depende de la operación que se realice. En la siguiente tabla se describen los tipos de eventos que emite el controlador:
Tipo de evento | Descripción |
|---|---|
Eventos de comando | Eventos relacionados con comandos de la base de datos MongoDB, como Como medida de seguridad, el controlador oculta el contenido de algunos eventos de comando. Esto protege la información confidencial contenida en estos eventos de comando. |
Eventos de detección y supervisión de servidores (SDAM) | Eventos relacionados con cambios en el estado de la implementación de MongoDB. |
Eventos del grupo de conexiones | Eventos relacionados con el pool de conexiones mantenido por el controlador. |
Para obtener una lista completa de los eventos que emite el driver, consulta la documentación de la API para el namespace MongoDB.Driver.Core.Events.
Suscribirse a eventos
Para supervisar un evento, debe suscribirse a un método de escucha en su instancia MongoClient. Los siguientes pasos describen cómo suscribirse a eventos:
Cree un objeto
MongoClientSettings.Configura la propiedad
ClusterConfiguratoren el objetoMongoClientSettingscon una función lambda que acepte un objetoClusterBuilder.En la función lambda, llama al método
Subscribe<TEvent>()en el objetoClusterBuilderpara cada evento al que quieras suscribirte. ReemplazaTEventcon el tipo de evento. Haz pasar el método controlador del evento como argumento para el métodoSubscribe<TEvent>().
El siguiente ejemplo de código muestra cómo suscribirse a ClusterOpenedEvent, ServerHeartbeatSucceededEvent y ConnectionPoolReadyEvent. Este ejemplo asume que los métodos ClusterEventHandler, HeartbeatEventHandler y ConnectionPoolEventHandler están definidos en otra parte del código.
var clientSettings = MongoClientSettings.FromConnectionString(MongoConnectionString); clientSettings.ClusterConfigurator = clusterBuilder => { clusterBuilder .Subscribe<ClusterOpenedEvent>(ClusterEventHandler) .Subscribe<ServerHeartbeatSucceededEvent>(HeartbeatEventHandler) .Subscribe<ConnectionPoolReadyEvent>(ConnectionPoolEventHandler); };
Tip
Puedes suscribirte a cualquier cantidad de eventos, y estos eventos pueden ser de diferentes tipos.
Documentación de la API
Para obtener más información sobre los métodos y clases utilizados para monitorear eventos en el controlador, consulte la siguiente documentación de API: