Overview
Esta guía muestra cómo usar el driver Go para supervisar el resultado de los comandos que el driver envía a la implementación de MongoDB.
Puede usar información sobre eventos de comando en su aplicación para comprender los cambios en el rendimiento de las consultas o resolver cuellos de botella.
Suscribirse a eventos
Puedes acceder a los detalles sobre los eventos de comandos suscribiéndote a ellos en tu aplicación. El siguiente ejemplo demuestra cómo suscribirse a la CommandStartedEvent evento mediante la instanciación de un CommandMonitor y la conexión 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
Puedes suscribirte a uno o más de los siguientes eventos de supervisión de comandos:
Nombre del Evento | Descripción |
|---|---|
| Se crea cuando se inicia un comando. |
| Se crea cuando un comando se ejecuta correctamente. |
| Creado cuando un comando no tiene éxito. |
Documentos de eventos de ejemplo
Las siguientes secciones muestran la salida de muestra para cada tipo de evento de supervisión de comandos.
EventoComandoIniciado
*event.CommandStartedEvent { "Command": "...", "DatabaseName": "...", "CommandName": "...", "RequestID": ..., "ConnectionID": "...", "ServerConnectionID": ..., "ServerConnectionID64": ..., "ServiceID": "..." }
CommandSucceededEvent
*event.CommandSucceededEvent { "DurationNanos": 38717583, "Duration": 38717583, "CommandName": "insert", "RequestID": 13, "ConnectionID": "...", "ServerConnectionID": ..., "ServerConnectionID64": ..., "ServiceID": null, "Reply": "..." }
CommandFailedEvent
*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 la supervisión de una implementación de MongoDB, consulte la Artículo Cómo supervisar MongoDB.
Para obtener más información sobre cómo realizar operaciones de MongoDB, consulta el Guías de Operaciones CRUD.
Documentación de la API
Para obtener más información sobre los métodos y tipos mencionados en esta guía, vea la siguiente documentación de la API:
CommandMonitor tipo
método SetMonitor()
CommandStartedEvent tipo
CommandFailedEvent tipo