Class: JetstreamBridge::ConsumerMiddleware::TracingMiddleware
- Inherits:
-
Object
- Object
- JetstreamBridge::ConsumerMiddleware::TracingMiddleware
- Defined in:
- lib/jetstream_bridge/consumer/middleware.rb
Overview
Tracing middleware for distributed tracing
Instance Method Summary collapse
Instance Method Details
#call(event) ⇒ Object
117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/jetstream_bridge/consumer/middleware.rb', line 117 def call(event) trace_id = event..trace_id || event.trace_id if defined?(ActiveSupport::CurrentAttributes) # Set trace context if using Rails CurrentAttributes previous_trace_id = Current.trace_id if defined?(Current) Current.trace_id = trace_id if defined?(Current) end yield ensure Current.trace_id = previous_trace_id if defined?(Current) && defined?(previous_trace_id) end |