class MemoryTracker::Stores::InMemoryStore::Manager
Public Class Methods
new(opts = {})
click to toggle source
# File lib/memory_tracker/stores/in_memory_store.rb, line 7 def initialize(opts = {}) @length = opts.fetch(:window_length, 60*60*4) @window1 = StatInterval.new(Time.now - @length/2, @length) @window2 = StatInterval.new(Time.now, @length) end
Public Instance Methods
push(request)
click to toggle source
# File lib/memory_tracker/stores/in_memory_store.rb, line 15 def push(request) rotate_windows @window1.push(request) @window2.push(request) end
stats()
click to toggle source
# File lib/memory_tracker/stores/in_memory_store.rb, line 21 def stats rotate_windows @window1.stats end
Private Instance Methods
rotate_windows()
click to toggle source
# File lib/memory_tracker/stores/in_memory_store.rb, line 27 def rotate_windows if Time.now > @window1.start_time + @length @window1 = @window2 @window2 = StatInterval.new(Time.now, @length) end end