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
Visão geral
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.
Descrições de evento
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. |
Exemplo de monitoramento de eventos
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
Documentos de exemplos de eventos
As seções abaixo mostram amostras de saída para cada tipo de evento de monitoramento do pool de conexões.
PoolCreatedEvent
PoolCreatedEvent { address: ..., options: {...} }
PoolReadyEvent
PoolReadyEvent { address: ... }
PoolClearedEvent
PoolClearedEvent { address: ..., service_id: ..., }
PoolClosedEvent
PoolClosedEvent { address: ... }
ConnectionCreatedEvent
ConnectionCreatedEvent { address: ..., connection_id: 1 }
ConnectionReadyEvent
ConnectionReadyEvent { address: ..., connection_id: 1 }
ConnectionClosedEvent
ConnectionClosedEvent { address: ..., connection_id: 1, reason: ..., /* private fields */ }
ConnectionCheckOutStartedEvent
ConnectionCheckOutStartedEvent { address: ..., }
ConnectionCheckOutFailedEvent
ConnectionCheckOutFailedEvent { address: ..., reason: ..., /* private fields */ }
ConnectionCheckedOutEvent
ConnectionCheckedOutEvent { address: ..., connection_id: 1 }
ConnectionCheckedInEvent
ConnectionCheckedInEvent { address: ..., connection_id: 1 }
Informações adicionais
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.
Documentação da API
Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo: