Class: MemoryTracker::Stores::InMemoryStore::Manager

Inherits:
Object
  • Object
show all
Defined in:
lib/memory_tracker/stores/in_memory_store.rb

Instance Method Summary collapse

Constructor Details

#initialize(window_length = 60*60*4) ⇒ Manager

Returns a new instance of Manager.



5
6
7
8
9
# File 'lib/memory_tracker/stores/in_memory_store.rb', line 5

def initialize(window_length = 60*60*4)
  @length  = window_length
  @window1 = StatInterval.new(Time.now - @length/2, @length)
  @window2 = StatInterval.new(Time.now, @length)
end

Instance Method Details

#nameObject



11
12
13
# File 'lib/memory_tracker/stores/in_memory_store.rb', line 11

def name
  :memory
end

#push(request) ⇒ Object



15
16
17
18
19
# File 'lib/memory_tracker/stores/in_memory_store.rb', line 15

def push(request)
  rotate_windows
  @window1.push(request)
  @window2.push(request)
end

#statsObject



21
22
23
24
# File 'lib/memory_tracker/stores/in_memory_store.rb', line 21

def stats
  rotate_windows
  @window1.stats
end