Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Menu Docs
Página inicial do Docs
/ /

Monitorar eventos de aplicativos

Este guia mostra como configurar e configurar o monitoramento no MongoDB Rust Driver.

O monitoramento coleta informações sobre as atividades de um programa em execução, que você pode usar com uma biblioteca de gerenciamento de desempenho de aplicação .

Monitorar o driver Rust permite que você entenda o uso e o desempenho de recursos do driver. Essas informações o ajudam a tomar decisões informadas ao projetar e depurar seu aplicação.

Este guia mostra como executar as seguintes tarefas:

  • Monitorar eventos de comando

  • Monitorar eventos de descoberta e monitoramento do servidor (SDAM)

  • Monitorar eventos do pool de conexões

Você pode usar o driver Rust para monitorar o resultado dos comandos que o driver envia para seu deployment do MongoDB .

Use informações sobre eventos de comando em seu aplicação ou monitore comandos para saber mais sobre como o driver os executa.

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.

Monitore eventos de comando atribuindo uma instância do EventHandler como o valor da opção do cliente do command_event_handler. Para construir um EventHandler que processa todos os eventos de comando, utilize o método callback() ou async_callback().

O exemplo a seguir se conecta a um sistema 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

Você pode usar o driver Rust para monitorar eventos de topologia em uma instância do MongoDB , um conjunto de réplicas ou um cluster fragmentado. O driver cria eventos de topologia , também conhecidos como eventos de Descoberta e Monitoramento do Servidor (SDAM), quando o estado da instância ou cluster muda.

Use informações sobre alterações de topologia em seu aplicação ou monitore as alterações de cluster para saber mais sobre como elas afetam seu aplicação.

Você pode monitorar os seguintes eventos SDAM:

Nome do evento
Descrição

Criado quando o estado de uma instância é alterado, como quando um membro do conjunto de réplicas muda de um secundário para um primário.

Criado quando uma conexão com uma instância, como um membro do conjunto de réplicas, é aberta.

Criado quando uma conexão com uma instância, como um membro do conjunto de réplicas, é fechada.

Criado quando a descrição da topologia é alterada, como quando há uma eleição de um novo primário ou quando um proxy mongos se desconecta.

Criado antes do driver tentar se conectar a uma instância.

Criado após o fechamento de todas as conexões de instância na topologia.

Criado antes do driver emitir um comando hello para uma instância.

Criado quando o comando hello retorna com sucesso de uma instância do MongoDB.

Criado quando um comando hello para uma instância MongoDB não retorna uma resposta bem-sucedida.

Monitore eventos SDAM atribuindo uma instância EventHandler como o valor da opção sdam_event_handler do cliente . Para construir um EventHandler que processa todos os eventos SDAM, utilize o método callback() ou async_callback().

O exemplo a seguir se conecta a um sistema MongoDB , instrui o cliente a monitorar eventos SDAM e imprime cada evento:

let mut client_options = ClientOptions::parse("<connection string>").await?;
client_options.sdam_event_handler = Some(EventHandler::callback(|ev| println!("{:?}", ev)));
let client = Client::with_options(client_options)?;
// ... perform actions with the client to generate events

Você pode usar o driver Rust para monitorar o pool de conexões do driver. Um pool de conexões é um conjunto de conexões abertas do Protocolo de Controle de Transmissão (TCP) que seu driver mantém com uma instância MongoDB . Os pools de conexões reduzem o número de novas conexões que seu aplicação precisa criar, o que pode agilizar a execução do seu aplicação .

Use informações sobre alterações no pool de conexões em seu aplicação ou monitore o pool de conexões para saber mais sobre como o driver usa as conexões.

Você pode monitorar os seguintes eventos do pool de conexões :

Nome do evento
Descrição

Criado quando um pool de conexões é criado.

Criado quando um pool de conexões estiver pronto.

Criado quando um pool de conexões é limpo.

Criado quando um pool de conexões é fechado, antes da destruição da instância do servidor.

Criado quando uma conexão é criada, mas não necessariamente quando é usada para uma operação.

Criado após uma conexão concluir com êxito uma negociação e estar pronta para operações.

Criado quando uma conexão é fechada.

Criado quando uma operação tenta adquirir uma conexão para execução.

Criado quando uma operação não pode adquirir uma conexão para execução.

Criado quando uma operação adquire com sucesso uma conexão para execução.

Criado quando uma conexão é verificada novamente no pool depois que uma operação é executada.

Monitore eventos do pool de conexões atribuindo uma instância EventHandler como o valor da opção cmap_event_handler do cliente . Para construir um EventHandler que processa todos os eventos do pool de conexões , utilize o método callback() ou async_callback().

O exemplo a seguir se conecta a uma MongoDB deployment, instrui o cliente a monitorar os eventos do pool de conexões e imprime cada evento:

let mut client_options = ClientOptions::parse("<connection string>").await?;
client_options.cmap_event_handler = Some(EventHandler::callback(|ev| println!("{:?}", ev)));
let client = Client::with_options(client_options)?;
// ... perform actions with the client to generate events

Para saber mais sobre como monitorar uma MongoDB deployment, consulte o artigo Como monitorar o MongoDB .

Para saber mais sobre como melhorar o desempenho do seu aplicação, consulte o guia Considerações sobre o desempenho.

Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo:

Voltar

MongoDB Vector Search

Nesta página