class JCW::Subscriber
Public Class Methods
subscribe_to_event!(event_name)
click to toggle source
# File lib/jcw/subscriber.rb, line 6 def subscribe_to_event!(event_name) ActiveSupport::Notifications.subscribe(event_name) do |*args| (span = OpenTracing.scope_manager.active&.span) or next event = ActiveSupport::Notifications::Event.new(*args) span.log_kv(context: span_context(event)) end end
Private Class Methods
span_context(event)
click to toggle source
# File lib/jcw/subscriber.rb, line 16 def span_context(event) { name: event.name, time: event.time, payload: event.payload.to_s, transaction_id: event.transaction_id, }.as_json end