Monitoramento de comandos
Nesta página
Visão geral
Este guia mostra como usar o driver Rust 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 ou monitorar comandos para saber mais sobre como o driver os executa.
Este guia inclui as seguintes seções:
Descrições de eventos descreve os eventos de comando que o driver pode gerar.
O exemplo de inscrição de eventos fornece código de amostra que mostra como se inscrever em eventos de comando.
Documentos de exemplos de eventos fornece amostras de cada evento de comando.
Informações adicionais fornecem links para recursos e documentação de API para os tipos e métodos mencionados neste guia.
Descrições de evento
Você pode monitorar os seguintes eventos de comando:
Nome do evento | Descrição |
---|---|
Criado quando um comando é iniciado. | |
Criado quando um comando é bem-sucedido. | |
Criado quando um comando não é bem-sucedido. |
Exemplo de monitoramento de eventos
Você pode monitorar eventos de comando atribuindo uma instância EventHandler
como o valor da opção command_event_handler
do cliente. Para construir um EventHandler
, que processa todos os eventos de comando, use o método callback()
ou async_callback()
.
O exemplo a seguir se conecta a uma implementação do MongoDB, instrui o cliente a monitorar eventos de comando e imprime cada evento:
let mut client_options = ClientOptions::parse("<connection string>").await?; client_options.command_event_handler = Some(EventHandler::callback(|ev| println!("{:?}", ev))); let client = Client::with_options(client_options)?; // ... perform actions with the client to generate events
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
CommandStartedEvent { request_id: 12, db: "testdb", command_name: "find", connection: ..., command: ..., service_id: ... }
CommandSucceededEvent
CommandSucceededEvent { duration: ..., reply: ..., command_name: "find", request_id: 12, connection: ..., service_id: ..., }
CommandFailedEvent
CommandFailedEvent { duration: ..., command_name: "find", failure: ..., request_id: 12, connection: ..., service_id: ..., }
Informações adicionais
Para saber mais sobre como monitorar uma MongoDB deployment, 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: