class XRayMachine::LogSubscriber

Public Class Methods

reset_runtimes() click to toggle source
# File lib/x_ray_machine/log_subscriber.rb, line 7
def self.reset_runtimes
  Thread.current["x_ray_machine_runtimes"] = nil
end
runtimes() click to toggle source
# File lib/x_ray_machine/log_subscriber.rb, line 3
def self.runtimes
  Thread.current["x_ray_machine_runtimes"] ||= Hash.new{|k,_| 0}
end

Public Instance Methods

request(event) click to toggle source
# File lib/x_ray_machine/log_subscriber.rb, line 11
def request(event)
  group  = event.payload[:group]
  config = XRayMachine::Config.for(group)

  self.class.runtimes[group] += event.duration

  name  = config.title
  name += " CACHE" if event.payload[:cache]
  name  = '%s (%.1fms)' % [name, event.duration]
  debug "  #{color(name, config.color, true)}  #{event.payload[:query]}"
end