lib/rorvswild.rb in rorvswild-1.7.1 vs lib/rorvswild.rb in rorvswild-1.8.0

- old
+ new

@@ -24,22 +24,32 @@ def self.logger @logger ||= initialize_logger end - def self.measure(code_or_name = nil, &block) - block ? measure_block(code_or_name, &block) : measure_code(code_or_name) + def self.measure(method_or_code = nil, &block) + if block + measure_block(method_or_code, &block) + elsif method_or_code.is_a?(Method) || method_or_code.is_a?(UnboundMethod) + measure_method(method_or_code) + else + measure_code(method_or_code) + end end def self.measure_code(code) agent ? agent.measure_code(code) : eval(code) end def self.measure_block(name, &block) agent ? agent.measure_block(name , &block) : block.call end + def self.measure_method(method) + agent.measure_method(method) if agent + end + def self.catch_error(context = nil, &block) agent ? agent.catch_error(context, &block) : block.call end def self.record_error(exception, context = nil) @@ -65,10 +75,10 @@ Logger.new(STDOUT) end end def self.clock_milliseconds - Process.clock_gettime(Process::CLOCK_MONOTONIC, :millisecond) + Process.clock_gettime(Process::CLOCK_MONOTONIC, :float_millisecond) end def self.check api_key = RorVsWild.agent.config[:api_key] agent.client.instance_variable_set(:@http_unauthorized, false)