Classe: Mongo::Trace::OpenTelemetry::OperationTracer Private

Herda:
Objeto
  • Objeto
mostrar tudo
Estendido por:
Encaminhável
Definido em:
lib/mongo/trasing/open_telemetry/operation_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.

OperationTracer é responsável por rastrear operações de driver MongoDB usando OpenTelemetry.

Recolhimento do Resumo do método de instância

Detalhes do construtor

#initialize(omel_tracer, parent_tracer) ⇒ OperationTracer

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 OperationTracer.

Parâmetros:

  • orel_tracer (OpenTelemetry::Trace::Tracer)

    o rastreador OpenTelemetry.

  • parent_tracer (Mongo::Trace::OpenTelemetry::Tracer)

    o rastreador principal para acessar mapas de contexto compartilhados.



37
38
39
40
# Arquivo 'lib/mongo/trasing/open_telemetry/operation_tracer.rb', linha 37

def inicializar(orel_tracer, parent_tracer)
  @otil_tracer = orel_tracer
  @parent_tracer = parent_tracer
end

Detalhes do método de instância

#rastreamento_operação(operação, operation_context, op_name: nil) { ... } ⇒ 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 uma operação MongoDB .

Cria um intervalo OpenTelemetry para a operação, capturando atributos como nome do banco de dados , nome da coleção, nome da operação e ID do cursor. A extensão é concluída automaticamente quando a operação é concluída ou falha.

rubocop:disable Lint/RescueException

Parâmetros:

  • operação (Mongo::Operação)

    a operação MongoDB para rastrear.

  • operation_context (Mongo::Operação::Context)

    o contexto da operação.

  • op_name (string | nil) (padrão para: nil)

    um nome opcional para a operação. Se nulo, o nome da classe de operação será usado.

Rendimento:

  • o bloco representando a operação a ser rastreada.

Retorna:

  • (Objeto)

    O resultado da operação.



58
59
60
61
62
63
64
65
66
# Arquivo 'lib/mongo/trasing/open_telemetry/operation_tracer.rb', linha 58

def rastreamento_operação(operação, operation_context, op_name: nada, &noum: bloco ; verb: bloquear)
  extensão = create_operation_span(operação, operation_context, op_name)
  execute_with_span(extensão, operação, &noum: bloco ; verb: bloquear)
salvar Exceção => e
  handle_span_exceção(extensão, e)
  aumentar e
garantir
  extensão&.Conclusão
end