class Koine::Profiler
Constants
- VERSION
Public Class Methods
instance()
click to toggle source
# File lib/koine/profiler.rb, line 30 def self.instance @instance ||= new end
new()
click to toggle source
# File lib/koine/profiler.rb, line 7 def initialize @entries = {} end
Public Instance Methods
entries()
click to toggle source
# File lib/koine/profiler.rb, line 26 def entries @entries.values end
profile(name) { || ... }
click to toggle source
# File lib/koine/profiler.rb, line 11 def profile(name) value = nil start_time = Time.now.utc start_memory = GetProcessMem.new.mb value = yield if block_given? finish_memory = GetProcessMem.new.mb finish_time = Time.now.utc add_entry( name, time: finish_time - start_time, memory: finish_memory - start_memory ) value end
Private Instance Methods
add_entry(name, time:, memory:)
click to toggle source
# File lib/koine/profiler.rb, line 36 def add_entry(name, time:, memory:) entry = @entries[name] ||= Entry.new(name) entry.increment(elapsed_time: time, memory_used: memory) end