Menu Docs
Página inicial do Docs
/ / /
Driver Rust
/ /

Monitoramento de pool de conexões

Nesta página

  • Visão geral
  • Descrições de evento
  • Exemplo de monitoramento de eventos
  • Documentos de exemplos de eventos
  • PoolCreatedEvent
  • PoolReadyEvent
  • PoolClearedEvent
  • PoolClosedEvent
  • ConnectionCreatedEvent
  • ConnectionReadyEvent
  • ConnectionClosedEvent
  • ConnectionCheckOutStartedEvent
  • ConnectionCheckOutFailedEvent
  • ConnectionCheckedOutEvent
  • ConnectionCheckedInEvent
  • Informações adicionais
  • Documentação da API

Este guia mostra como 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. O pool de conexões ajuda a reduzir o número de novas conexões que sua aplicação precisa criar, o que pode fazer com que sua aplicação seja executada mais rapidamente.

Você pode usar informações sobre alterações no pool de conexões em seu aplicativo ou pode monitorar o pool de conexões para saber mais sobre como o driver usa as conexões.

Este guia inclui as seguintes seções:

  • Descrições de eventos descreve os eventos do pool de conexões que o driver pode gerar.

  • Exemplo de inscrição de eventos fornece código de exemplo que mostra como assinar eventos do pool de conexões.

  • Documentos de exemplos de eventos fornece amostras de cada evento do pool de conexões.

  • Informações adicionais fornecem links para recursos e documentação de API para os tipos e métodos mencionados neste guia.

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 um handshake e estar pronta para ser usada em 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.

Você pode monitorar 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, use 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

As seções abaixo mostram amostras de saída para cada tipo de evento de monitoramento do pool de conexões.

PoolCreatedEvent {
address: ...,
options: {...}
}
PoolReadyEvent {
address: ...
}
PoolClearedEvent {
address: ...,
service_id: ...,
}
PoolClosedEvent {
address: ...
}
ConnectionCreatedEvent {
address: ...,
connection_id: 1
}
ConnectionReadyEvent {
address: ...,
connection_id: 1
}
ConnectionClosedEvent {
address: ...,
connection_id: 1,
reason: ...,
/* private fields */
}
ConnectionCheckOutStartedEvent {
address: ...,
}
ConnectionCheckOutFailedEvent {
address: ...,
reason: ...,
/* private fields */
}
ConnectionCheckedOutEvent {
address: ...,
connection_id: 1
}
ConnectionCheckedInEvent {
address: ...,
connection_id: 1
}

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

Para saber mais sobre como se conectar ao MongoDB, consulte oGuia de Conexão .

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

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

Voltar

Monitoramento de comandos