Classe: Mongo::Trace::OpenTelemetry::CommandTracer Private
- Herda:
-
Objeto
- Objeto
- Mongo::Trace::OpenTelemetry::CommandTracer
- Inclui:
- Monitoramento::Evento::Seguro
- 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.
Colapsode resumo constante
- HELLO_COMMANDS =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
Comandos para os quais um intervalo NÃO DEVE ser criado. A especificação OpenTelemetry exige que os drivers ignorem os intervalos de comandos para comandos confidenciais listados na especificação de registro e monitoramento de comandos. Além disso, ignoramos hello / hello legado em todas as formas — são tráfego de handshake/pulsação e apenas adicionariam ruído aos rastreamentos.
%w[olá isMaster isMaster].congelar
Constantes incluídas no Monitoring::Event::Secure
Monitoramento::Evento::Secure::REDACTED_COMMANDS
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 .
Métodos incluídos do Monitoring::Event::Secure
#compression_allowed?, #editado, #sensitive?
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.
40 41 42 43 44 |
# arquivo 'lib/mongo/trasing/open_telemetry/command_tracer.rb', linha 40 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 .
51 |
# arquivo 'lib/mongo/trasing/open_telemetry/command_tracer.rb', linha 51 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
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# arquivo 'lib/mongo/trasing/open_telemetry/command_tracer.rb', linha 68 def rastreamento_command(, operação, Conexão) Método rendimento se skip_tracing?() # 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 |