Monitoramento de comandos
Nesta página
Visão geral
Este guia mostra como usar o driver Go para monitorar o resultado dos comandos que o driver envia para sua deployment do MongoDB.
Você pode usar informações sobre eventos de comando em seu aplicativo para entender as alterações no desempenho da query ou resolver gargalos.
Inscrever-se para receber eventos
Você pode acessar detalhes sobre eventos de comando assinando-os em seu aplicativo. O exemplo seguinte demonstra como assinar o evento CommandStartedEvent
instanciando um CommandMonitor
e conectando-se a um sistema:
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)
Descrições de evento
Você pode assinar um ou mais dos seguintes eventos de monitoramento de comando:
Nome do evento | Descrição |
---|---|
CommandStartedEvent | Criado quando um comando é iniciado. |
CommandSucceededEvent | Criado quando um comando é bem-sucedido. |
CommandFailedEvent | Criado quando um comando não é bem-sucedido. |
Documentos de exemplos de eventos
As seções a seguir mostram amostras de saída para cada tipo de evento de monitoramento de comando.
CommandStartedEvent
*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": "..." }
Informações adicionais
Para saber mais sobre como monitorar uma implantação do MongoDB, consulte o artigo Como monitorar o MongoDB .
Para saber mais sobre como executar operações do MongoDB , consulte os guias deoperações CRUD .
Documentação da API
Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo:
TipoCommandMonitor
SetMonitor() método
CommandStartedEvent tipo
CommandFailedEvent tipo