Module: ExisRay::ActiveResourceInstrumentation
- Defined in:
- lib/exis_ray/active_resource_instrumentation.rb
Overview
Módulo diseñado para interceptar e instrumentar las peticiones HTTP salientes realizadas con ActiveResource. Utiliza el patrón ‘prepend` para envolver el método `headers` original sin romper la cadena de herencia.
Su función principal es inyectar automáticamente el header de trazabilidad (Trace ID) en todas las peticiones salientes para mantener la traza distribuida entre microservicios.
Instance Method Summary collapse
-
#headers ⇒ Hash
Sobrescribe el método ‘headers` de ActiveResource para inyectar el Trace ID actual.
Instance Method Details
#headers ⇒ Hash
Sobrescribe el método ‘headers` de ActiveResource para inyectar el Trace ID actual.
Lógica de inyección:
-
Obtiene los headers definidos originalmente por el modelo o la request.
-
Verifica si existe un contexto de traza activo (Root ID).
-
Si existe, genera el header formateado (AWS/Wispro) y lo fusiona con los headers originales.
18 19 20 21 22 23 24 25 |
# File 'lib/exis_ray/active_resource_instrumentation.rb', line 18 def headers original_headers = super return original_headers unless ExisRay::Tracer.root_id.present? inject_trace_header(original_headers) rescue StandardError original_headers end |