class ElasticAPM::Spies::MongoSpy::Subscriber
@api private
def failed(event)
def failed(event) pop_event(event) end
def initialize
def initialize @events = {} end
def pop_event(event)
def pop_event(event) return unless ElasticAPM.current_transaction span = @events.delete(event.operation_id) span && span.done end
def push_event(event)
def push_event(event) return unless ElasticAPM.current_transaction ctx = Span::Context.new( instance: event.database_name, statement: nil, type: 'mongodb'.freeze, user: nil ) span = ElasticAPM.span(event.command_name, TYPE, context: ctx) @events[event.operation_id] = span end
def started(event)
def started(event) push_event(event) end
def succeeded(event)
def succeeded(event) pop_event(event) end