Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Driver C
/

Solução básica de problemas

Veja a seguir uma pequena lista de itens a serem verificados quando você tiver um problema.

  • Você chamou mongoc_init() em main()? Caso contrário, você provavelmente verá uma segfault.

  • Você vazou algum cliente ou cursor, pois pode ser encontrado com mongoc-stat <PID>?

  • Os pacotes foram entregues no servidor? Veja bytes de saída de mongoc-stat <PID>.

  • ASAN mostra algum vazamento? Certifique-se de chamar mongoc_cleanup() no final do processo para limpar as alocações persistentes do driver MongoDB C.

  • Se estiver compilando sua própria cópia do MongoDB C Driver, considere usar a opção cmake -DENABLE_TRACING=ON para ativar o rastreamento de funções e os despejos hexadecimais de pacotes de rede para STDERR e STDOUT.

O MongoDB C Driver vem com um recurso opcional e exclusivo para ajudar desenvolvedores e administradores de sistema a solucionar problemas na produção. Contadores de desempenho estão disponíveis para cada processo usando o C Driver. Se disponíveis, os contadores podem ser acessados fora do processo do aplicação por meio de um segmento de memória compartilhada. Os contadores podem ser usados estatísticas de gráficos sobre o processo do seu aplicação facilmente a partir de ferramentas como Monin ou Nagios. Por exemplo, o comando watch --interval=0.5 -d mongoc-stat $PID pode ser utilizado para monitorar um aplicação.

Os contadores de desempenho estão disponíveis somente em plataformas Linux e macOS arm64 plataformas que suportam segmentos de memória compartilhada. Em plataformas suportadas, eles são habilitados por padrão. Os aplicativos podem ser construídos sem os contadores especificando a opção cmake -DENABLE_SHM_COUNTERS=OFF. Além disso, se os contadores de desempenho já estiverem compilados, eles poderão ser desativados no tempo de execução especificando a variável de ambiente MONGOC_DISABLE_SHM.

Os contadores de desempenho acompanham o seguinte:

  • Cursores ativos e descartados

  • Clientes ativos e descartados, pools de clientes e fluxos de soquete.

  • Número de operações enviadas e recebidas, por tipo.

  • Bytes transferidos e recebidos.

  • Sucessos e falhas de autenticação.

  • Número de erros de protocolo de fio.

Observação

Uma operação é considerada "enviada" quando um ou mais bytes da mensagem correspondente são gravados no fluxo, independentemente de a mensagem inteira ser escrita com sucesso ou se a operação for bem-sucedida ou falhar. Isso não inclui bytes que podem ser gravados durante o processo de conexão do stream, como mensagens de handshake TLS.

Para acessar contadores de um determinado processo, basta fornecer o ID do processo ao programa mongoc-stat instalado com o MongoDB C Driver.

$ mongoc-stat 22203
Operations : Egress Total : The number of sent operations. : 13247
Operations : Ingress Total : The number of received operations. : 13246
Operations : Egress Queries : The number of sent Query operations. : 13247
Operations : Ingress Queries : The number of received Query operations. : 0
Operations : Egress GetMore : The number of sent GetMore operations. : 0
Operations : Ingress GetMore : The number of received GetMore operations. : 0
Operations : Egress Insert : The number of sent Insert operations. : 0
Operations : Ingress Insert : The number of received Insert operations. : 0
Operations : Egress Delete : The number of sent Delete operations. : 0
Operations : Ingress Delete : The number of received Delete operations. : 0
Operations : Egress Update : The number of sent Update operations. : 0
Operations : Ingress Update : The number of received Update operations. : 0
Operations : Egress KillCursors : The number of sent KillCursors operations. : 0
Operations : Ingress KillCursors : The number of received KillCursors operations. : 0
Operations : Egress Msg : The number of sent Msg operations. : 0
Operations : Ingress Msg : The number of received Msg operations. : 0
Operations : Egress Reply : The number of sent Reply operations. : 0
Operations : Ingress Reply : The number of received Reply operations. : 13246
Cursors : Active : The number of active cursors. : 1
Cursors : Disposed : The number of disposed cursors. : 13246
Clients : Active : The number of active clients. : 1
Clients : Disposed : The number of disposed clients. : 0
Streams : Active : The number of active streams. : 1
Streams : Disposed : The number of disposed streams. : 0
Streams : Egress Bytes : The number of bytes sent. : 794931
Streams : Ingress Bytes : The number of bytes received. : 589694
Streams : N Socket Timeouts : The number of socket timeouts. : 0
Client Pools : Active : The number of active client pools. : 1
Client Pools : Disposed : The number of disposed client pools. : 0
Protocol : Ingress Errors : The number of protocol errors on ingress. : 0
Auth : Failures : The number of failed authentication requests. : 0
Auth : Success : The number of successful authentication requests. : 0

Acha que encontrou um bug? Quer ver uma nova funcionalidade no driver do MongoDB C? Abra um caso em nossa ferramenta de gerenciamento de problemas, JIRA:

  • Crie uma conta e faça login.

  • Navigate to the CDRIVER project.

  • Clique em Criar problema - Forneça o máximo de informações possível sobre o tipo de problema e como reproduzi-lo.

Relatórios de bugs no JIRA para todos os projetos de driver (ou seja, CDRIVER, C#, Java) e o servidor principal (ou seja, SERVER ) são públicas.

Voltar

Autenticação

Nesta página