class TimeBandits::TimeConsumers::Redis::Subscriber
Public Instance Methods
request(event)
click to toggle source
# File lib/time_bandits/time_consumers/redis.rb, line 16 def request(event) i = Redis.instance i.time += event.duration i.calls += 1 #count redis round trips, not calls return unless logger.debug? name = "%s (%.2fms)" % ["Redis", event.duration] cmds = event.payload[:commands] # output = " #{color(name, CYAN, true)}" output = " #{name}" cmds.each do |cmd, *args| if args.present? logged_args = args.map do |a| case when a.respond_to?(:inspect) then a.inspect when a.respond_to?(:to_s) then a.to_s else # handle poorly-behaved descendants of BasicObject klass = a.instance_exec { (class << self; self end).superclass } "\#<#{klass}:#{a.__id__}>" end end output << " [ #{cmd.to_s.upcase} #{logged_args.join(" ")} ]" else output << " [ #{cmd.to_s.upcase} ]" end end debug output end