class SiteHealth::Timer
Attributes
finished_at[R]
started_at[R]
Public Class Methods
measure(&block)
click to toggle source
# File lib/site_health/timer.rb, line 13 def self.measure(&block) new.tap { |timer| timer.measure(&block) } end
start()
click to toggle source
# File lib/site_health/timer.rb, line 9 def self.start new.tap(&:start) end
Public Instance Methods
diff()
click to toggle source
# File lib/site_health/timer.rb, line 34 def diff fail(StandardError, 'timer must be started') unless @started finish = @finished || high_precision_time finish - @started end
finish()
click to toggle source
# File lib/site_health/timer.rb, line 29 def finish @finished = high_precision_time @finished_at = Time.now end
measure() { || ... }
click to toggle source
# File lib/site_health/timer.rb, line 17 def measure start yield finish self end
start()
click to toggle source
# File lib/site_health/timer.rb, line 24 def start @started = high_precision_time @started_at = Time.now end
Private Instance Methods
high_precision_time()
click to toggle source
# File lib/site_health/timer.rb, line 43 def high_precision_time Process.clock_gettime(Process::CLOCK_MONOTONIC) end