class RorVsWild::Plugin::Mongo

def self.setup

def self.setup
  return if @installed
  return if !defined?(::Mongo::Monitoring::Global)
  ::Mongo::Monitoring::Global.subscribe(::Mongo::Monitoring::COMMAND, Mongo.new)
  @installed = true
end

def after_query(event)

def after_query(event)
  RorVsWild::Section.stop do |section|
    section.kind = "mongo".freeze
    section.command = commands.delete(event.request_id).to_s
  end
end

def failed(event)

def failed(event)
  after_query(event)
end

def initialize

def initialize
  @commands = {}
end

def started(event)

def started(event)
  RorVsWild::Section.start
  commands[event.request_id] = event.command
end

def succeeded(event)

def succeeded(event)
  after_query(event)
end