Class: MMTop::QPS

Inherits:
Object
  • Object
show all
Defined in:
lib/mmtop/qps.rb

Constant Summary collapse

DEFAULT_WINDOW =
20
QUERIES =
0
TIME =
1

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.windowObject



7
8
9
# File 'lib/mmtop/qps.rb', line 7

def self.window
  @window || DEFAULT_WINDOW
end

.window=(window) ⇒ Object



11
12
13
# File 'lib/mmtop/qps.rb', line 11

def self.window=(window)
  @window = window
end

Instance Method Details

#add_sample(queries, time) ⇒ Object



19
20
21
22
# File 'lib/mmtop/qps.rb', line 19

def add_sample(queries, time)
  samples.push [queries, time]
  clean_samples
end

#calcObject



24
25
26
27
28
29
30
31
32
# File 'lib/mmtop/qps.rb', line 24

def calc
  clean_samples
  return '...' if samples.size == 1

  queries = samples.last[QUERIES] - samples.first[QUERIES]
  time = samples.last[TIME].to_i - samples.first[TIME].to_i

  queries / time
end

#windowObject



15
16
17
# File 'lib/mmtop/qps.rb', line 15

def window
  self.class.window
end