Module: Seabright::Benchmark::ClassMethods

Defined in:
lib/redis_object/ext/benchmark.rb

Instance Method Summary collapse

Instance Method Details

#benchmark(*method_names) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/redis_object/ext/benchmark.rb', line 6

def benchmark(*method_names)
	method_names.each do |method_name|
		original_method = instance_method(method_name)
		define_method(method_name) do |*args,&blk|
			st = Time.now
			out = original_method.bind(self).call(*args,&blk)
			self.class.benchmark_out(method_name,args,Time.now - st)
			out
		end
	end
end

#benchmark!Object



22
23
24
# File 'lib/redis_object/ext/benchmark.rb', line 22

def benchmark!
	benchmark :set, :get, :<<
end

#benchmark_out(method, args, time) ⇒ Object



18
19
20
# File 'lib/redis_object/ext/benchmark.rb', line 18

def benchmark_out(method,args,time)
	Log.debug "[RedisObject::Benchmark] #{method}(#{args.join(",")}): #{time}"
end