Class: ExisRay::BugBunny::PublisherTracing
- Inherits:
-
BugBunny::Middleware::Base
- Object
- BugBunny::Middleware::Base
- ExisRay::BugBunny::PublisherTracing
- Defined in:
- lib/exis_ray/bug_bunny/publisher_tracing.rb
Overview
Middleware de publicación para BugBunny::Client.
Inyecta el header de trazabilidad de ExisRay en cada mensaje publicado, permitiendo la propagación del trace context a los servicios consumidores. Esto hace posible correlacionar un request HTTP original con todos los mensajes y logs que genera en el ecosistema de microservicios.
Instance Method Summary collapse
-
#on_request(env) ⇒ void
Inyecta el header de traza antes de publicar el mensaje.
Instance Method Details
#on_request(env) ⇒ void
This method returns an undefined value.
Inyecta el header de traza antes de publicar el mensaje. Solo actúa si hay un trace context activo (root_id presente). Usa ‘propagation_trace_header` de la configuración, igual que FaradayMiddleware.
30 31 32 33 34 35 36 |
# File 'lib/exis_ray/bug_bunny/publisher_tracing.rb', line 30 def on_request(env) return unless ExisRay::Tracer.root_id.present? env.headers[ExisRay.configuration.propagation_trace_header] = ExisRay::Tracer.generate_trace_header rescue StandardError # La propagación de tracing nunca debe interrumpir la publicación de mensajes. end |