Clase: Mongo::Tracing::OpenTelemetry::OperationTracer Privado

Hereda:
Objeto
  • Objeto
Mostrar todo
Ampliado por:
Reenviable
Definido en:
lib/mongo/tracing/open_telemetry/operation_tracer.rb

Overview

Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.

OperationTracer es responsable de rastrear las operaciones del controlador de MongoDB utilizando OpenTelemetry.

Resumen del método de instancia colapsar

Detalles del Constructor

#initialize(otel_tracer, parent_tracer) ⇒ OperationTracer

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Inicializa un nuevo OperationTracer.

Parámetros:

  • otel_tracer (OpenTelemetry::Trace::Tracer)

    el rastreador OpenTelemetry.

  • rastreador_padre (Mongo::Tracing::OpenTelemetry::Tracer)

    el rastreador padre para acceder a mapas de contexto compartidos.



37
38
39
40
# Archivo 'lib/mongo/tracing/open_telemetry/operation_tracer.rb', línea 37

def inicializar(otel_tracer, rastreador_padre)
  @otel_tracer = otel_tracer
  @parent_tracer = rastreador_padre
end

Detalles del método de instancia

#trace_operation(operación, operación_contexto, nombre_op: nil) { ... } ⇒ Objeto

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Realizar un seguimiento de una operación de MongoDB.

Crea un tramo OpenTelemetry para la operación, capturando atributos como el nombre de la base de datos, el nombre de la colección, el nombre de la operación y el ID del cursor. El span se finaliza automáticamente cuando la operación se completa o falla.

rubocop:deshabilitar Lint/RescueException

Parámetros:

  • Operación (Mongo::Operation)

    la operación MongoDB a rastrear.

  • operation_context (Mongo::operación::Context)

    el contexto de la operación.

  • op_name (String | nil) (valor por defecto: nil)

    un nombre opcional para la operación. Si es nulo, se utiliza el nombre de la clase de operación.

Rendimientos:

  • el bloque que representa la operación que se va a rastrear.

Devuelve:

  • (objeto)

    El resultado de la operación.



58
59
60
61
62
63
64
65
66
# Archivo 'lib/mongo/tracing/open_telemetry/operation_tracer.rb', línea 58

def trace_operation(Operación, operation_context, op_name: nulo, &bloque)
  span = create_operation_span(Operación, operation_context, op_name)
  ejecuta_con_span(span, Operación, &bloque)
rescate Excepción => e
  gestionar_excepción_de_rango(span, e)
  propagar e
asegurar
  span&.finalizar
end