Classe: Mongo::Trace::OpenTelemetry::CommandTracer Private
- Herda:
-
Objeto
- Objeto
- Mongo::Trace::OpenTelemetry::CommandTracer
- Definido em:
- lib/mongo/trasing/open_telemetry/command_tracer.rb
Visão geral
Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.
O CommandTracer é responsável por rastrear comandos do servidor MongoDB usando OpenTelemetry.
Recolhimento do Resumo do método de instância
-
0.
construtor
privado
Inicializa um novo CommandTracer.
-
#start_span(message, operation_context, connection) ⇒ objeto
privado
Inicia um span para um comando MongoDB .
-
#rastreamento_command(message, _operation_context, connection) {... } ➤ Objeto
privado
Rastreie um comando MongoDB .
Detalhes do construtor
0 .
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicializa um novo CommandTracer.
31 32 33 34 35 |
# arquivo 'lib/mongo/trasing/open_telemetry/command_tracer.rb', linha 31 def inicializar(orel_tracer, parent_tracer, query_text_max_long: 0) @otil_tracer = orel_tracer @parent_tracer = parent_tracer @query_text_max_ comprimento = query_text_max_long end |
Detalhes do método de instância
#start_span(message, operation_context, connection) ➤ objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicia um span para um comando MongoDB .
42 |
# arquivo 'lib/mongo/trasing/open_telemetry/command_tracer.rb', linha 42 def start_span(, operation_context, Conexão); end |
#rastreamento_command(message, _operation_context, connection) {... } ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Rastreie um comando MongoDB .
Cria uma extensão OpenTelemetry para o comando, capturando atributos como nome do comando, nome do banco de dados , nome da coleção, endereço do servidor , IDs de conexão e, opcionalmente, texto de query. A extensão é automaticamente aninhada sob a extensão da operação atual e é concluída quando o comando é concluído ou falha.
rubocop:disable Lint/RescueException
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# arquivo 'lib/mongo/trasing/open_telemetry/command_tracer.rb', linha 59 def rastreamento_command(, operação, Conexão) # Os comandos devem sempre ser aninhados sob sua extensão de operação, não diretamente sob # a extensão da transação. Não passe with_parent para usar a resolução automática dos pais # do intervalo ativo atualmente (o intervalo de operações). extensão = create_command_span(, Conexão) ::OpenTelemetry::RASTREAR.with_span(extensão) fazer |s, C| rendimento.toque fazer |Resultado| process_command_result(Resultado, cursor_id(), C, s) end end salvar Exceção => e handle_command_exceção(extensão, e) aumentar e garantir extensão&.Conclusão end |