Module: DeadBro::CpuTracker

Defined in:
lib/dead_bro/cpu_tracker.rb

Constant Summary collapse

THREAD_KEY =
:dead_bro_cpu_start

Class Method Summary collapse

Class Method Details

.start_request_trackingObject



7
8
9
# File 'lib/dead_bro/cpu_tracker.rb', line 7

def self.start_request_tracking
  Thread.current[THREAD_KEY] = thread_cpu_ms
end

.stop_request_trackingObject



11
12
13
14
15
16
17
18
19
# File 'lib/dead_bro/cpu_tracker.rb', line 11

def self.stop_request_tracking
  before = Thread.current[THREAD_KEY]
  return nil if before.nil?
  after = thread_cpu_ms
  return nil if after.nil?
  (after - before).round(2)
ensure
  Thread.current[THREAD_KEY] = nil
end

.thread_cpu_msObject



21
22
23
24
25
# File 'lib/dead_bro/cpu_tracker.rb', line 21

def self.thread_cpu_ms
  Process.clock_gettime(Process::CLOCK_THREAD_CPUTIME_ID, :millisecond)
rescue
  nil
end