Overview
En esta página, aprenderá a configurar la monitorización en el controlador MongoDB.NET/C#. La monitorización consiste en recopilar información sobre el rendimiento y el uso de recursos de su aplicación durante su ejecución. Esto le ayudará a tomar decisiones informadas al diseñar y depurar su aplicación.
El controlador proporciona información sobre su aplicación mediante la emisión de eventos. Puede suscribirse a estos eventos para supervisar su aplicación.
Nota
Registro de eventos
Esta página explica cómo supervisar su aplicación en el código. Para saber cómo registrar esta información en un registro externo, consulte Explotación florestal.
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 los 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 ellos. |
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 controlador, consulte la documentación de la API para el espacio de nombres 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:
Crea un objeto
MongoClientSettings.Establezca la propiedad
ClusterConfiguratoren el objetoMongoClientSettingsen una función lambda que acepte un objetoClusterBuilder.En la función lambda, llame al método
Subscribe<TEvent>()del objetoClusterBuilderpara cada evento al que desee suscribirse. ReemplaceTEventpor el tipo de evento. Pase el método del controlador de eventos como argumento al 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: