Class: ExisRay::BugBunny::ConsumerTracingMiddleware
- Inherits:
-
BugBunny::ConsumerMiddleware::Base
- Object
- BugBunny::ConsumerMiddleware::Base
- ExisRay::BugBunny::ConsumerTracingMiddleware
- Defined in:
- lib/exis_ray/bug_bunny/consumer_tracing_middleware.rb
Overview
Consumer middleware para BugBunny que establece el trace context de ExisRay antes de que la gema empiece a procesar el mensaje.
Al correr en el consumer middleware stack (antes de ‘consumer.message_received`), garantiza que todos los logs internos de BugBunny y del controller action incluyan `root_id`, `trace_id` y `source`.
Se registra automáticamente al cargar ExisRay con BugBunny presente. El usuario final no necesita configuración adicional.
Instance Method Summary collapse
-
#call(delivery_info, properties, body) ⇒ Object
Inyecta el trace context antes de delegar al siguiente middleware.
Instance Method Details
#call(delivery_info, properties, body) ⇒ Object
Inyecta el trace context antes de delegar al siguiente middleware. Limpia el contexto en ‘ensure` para no contaminar el próximo mensaje.
24 25 26 27 28 29 30 31 |
# File 'lib/exis_ray/bug_bunny/consumer_tracing_middleware.rb', line 24 def call(delivery_info, properties, body) setup_trace_context(properties) @app.call(delivery_info, properties, body) ensure safe_reset(ExisRay::Tracer) safe_reset(ExisRay.current_class) safe_reset(ExisRay.reporter_class) end |