Overview
Esta guía le muestra cómo usar el controlador Go para monitorear el resultado de los comandos que el controlador envía a su implementación de MongoDB.
Puede utilizar información sobre eventos de comando en su aplicación para comprender cambios en el rendimiento de las consultas o resolver cuellos de botella.
Suscríbete a Eventos
Puede acceder a detalles sobre los eventos de comando suscribiéndose a ellos en su aplicación. El siguiente ejemplo muestra cómo suscribirse a CommandStartedEvent evento instanciando un CommandMonitor y conectándose a una implementación:
var eventArray []*event.CommandStartedEvent cmdMonitor := &event.CommandMonitor{ Started: func(ctx context.Context, e *event.CommandStartedEvent) { eventArray = append(eventArray, e) }, } clientOpts := options.Client().ApplyURI(uri).SetMonitor(cmdMonitor) client, err := mongo.Connect(context.TODO(), clientOpts)
Descripciones de eventos
Puede suscribirse a uno o más de los siguientes eventos de monitoreo de comandos:
Nombre del evento | Descripción |
|---|---|
| Se crea cuando se inicia un comando. |
| Se crea cuando un comando tiene éxito. |
| Se crea cuando un comando no tiene éxito. |
Documentos de eventos de ejemplo
Las siguientes secciones muestran una salida de muestra para cada tipo de evento de monitoreo de comando.
EventoComandoIniciado
*event.CommandStartedEvent { "Command": "...", "DatabaseName": "...", "CommandName": "...", "RequestID": ..., "ConnectionID": "...", "ServerConnectionID": ..., "ServerConnectionID64": ..., "ServiceID": "..." }
Evento de comando exitoso
*event.CommandSucceededEvent { "DurationNanos": 38717583, "Duration": 38717583, "CommandName": "insert", "RequestID": 13, "ConnectionID": "...", "ServerConnectionID": ..., "ServerConnectionID64": ..., "ServiceID": null, "Reply": "..." }
Evento de comando fallido
*event.CommandFailedEvent { "DurationNanos": 38717583, "Duration": 38717583, "CommandName": "insert", "RequestID": 13, "ConnectionID": "...", "ServerConnectionID": ..., "ServerConnectionID64": ..., "ServiceID": null, "Failure": "..." }
Información Adicional
Para obtener más información sobre cómo monitorear una implementación de MongoDB, consulte ArtículoCómo monitorear MongoDB.
Para obtener más información sobre cómo realizar operaciones en MongoDB, consulte Guíasde operaciones CRUD.
Documentación de la API
Para obtener más información sobre los métodos y tipos mencionados en esta guía, consulte la siguiente documentación de API:
Tipo deCommandMonitor
MétodoSetMonitor()
Tipo de eventoCommandStartedEvent
Tipo de eventoCommandSucceededEvent
Tipo de eventoCommandFailedEvent