module Datadog::Contrib::ActionCable::RootContextEvent::ClassMethods

Class methods for events.

Public Instance Methods

subscription(*args) click to toggle source
Calls superclass method
# File lib/ddtrace/contrib/action_cable/event.rb, line 45
def subscription(*args)
  super.tap do |subscription|
    subscription.before_trace { ensure_clean_context! }
  end
end

Private Instance Methods

ensure_clean_context!() click to toggle source

Context objects are thread-bound. If an integration re-uses threads, context from a previous trace could leak into the new trace. This “cleans” current context, preventing such a leak.

# File lib/ddtrace/contrib/action_cable/event.rb, line 57
def ensure_clean_context!
  return unless configuration[:tracer].call_context.current_span
  configuration[:tracer].provider.context = Context.new
end