Clase: Mongo::Tracing::OpenTelemetry::CommandTracer Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Rastreo::OpenTelemetry::RastreadorDeComandos
- Definido en:
- lib/mongo/tracing/open_telemetry/command_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.
CommandTracer es responsable de rastrear los comandos del servidor de MongoDB usando OpenTelemetry.
Resumen del método de instancia colapsar
-
#initialize(otel_tracer, parent_tracer, query_text_max_length: 0) ⇒ CommandTracer
constructor
privado
Inicializa un nuevo CommandTracer.
-
#start_span(mensaje, contexto_operativo, conexión) ⇒ Objeto
privado
Inicia un intervalo para un comando MongoDB.
-
#trace_command(message, _operation_context, connection) { ... } ⇒ Object
privado
Haga un seguimiento de un comando de MongoDB.
Detalles del Constructor
#initialize(otel_tracer, parent_tracer, query_text_max_length: 0) ⇒ CommandTracer
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 CommandTracer.
31 32 33 34 35 |
# Archivo 'lib/mongo/tracing/open_telemetry/command_tracer.rb', línea 31 def inicializar(otel_tracer, rastreador_padre, query_text_max_length: 0) @otel_tracer = otel_tracer @parent_tracer = rastreador_padre @query_text_max_length = query_text_max_length end |
Detalles del método de instancia
#start_span(mensaje, contexto_operativo, conexión) ⇒ 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.
Inicia un intervalo para un comando MongoDB.
42 |
# Archivo 'lib/mongo/tracing/open_telemetry/command_tracer.rb', línea 42 def start_span(, operation_context, Conexión); end |
#trace_command(mensaje, _operacion_contex, connection) { ... } ⇒ 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.
Haga un seguimiento de un comando de MongoDB.
Crea un span de OpenTelemetry para el comando, capturando atributos como el nombre del comando, el nombre de la base de datos, el nombre de la colección, la dirección del servidor, los IDs de conexión y, opcionalmente, el texto de la query. El lapso se anida automáticamente bajo el lapso de la operación actual y se finaliza cuando el comando se completa o falla.
rubocop:deshabilitar Lint/RescueException
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# Archivo 'lib/mongo/tracing/open_telemetry/command_tracer.rb', línea 59 def trace_command(, operación, Conexión) # Los comandos siempre deben anidarse bajo su intervalo de operación, no directamente debajo # el lapso de la transacción. No pasar con_parent para usar la resolución automática de padres # del span que está actualmente activo (el span de la operación). span = crear_span_de_comando(, Conexión) ::OpenTelemetry::traza.with_span(span) hacer |s, C| rendimiento.tocar hacer |Resultado| process_command_result(Resultado, cursor_id(), C, s) end end rescate Excepción => e manejar_excepción_de_comando(span, e) propagar e asegurar span&.finalizar end |