Class: Procview::Stats
- Inherits:
-
Object
- Object
- Procview::Stats
- Defined in:
- lib/procview/stats.rb
Constant Summary collapse
- TYPE =
{ other: 0, wait: 1, read: 2, write: 3 }.freeze
Instance Method Summary collapse
- #[](y) ⇒ Object
- #acc!(type, duration) ⇒ Object
- #add!(other) ⇒ Object
- #averages(digits) ⇒ Object
- #counts(digits) ⇒ Object
- #deviations(digits) ⇒ Object
- #durations(digits) ⇒ Object
-
#initialize ⇒ Stats
constructor
A new instance of Stats.
- #sum ⇒ Object
- #values ⇒ Object
Constructor Details
#initialize ⇒ Stats
Returns a new instance of Stats.
108 109 110 |
# File 'lib/procview/stats.rb', line 108 def initialize @accumulators = 4.times.map{ Accumulator.new } end |
Instance Method Details
#[](y) ⇒ Object
111 112 113 |
# File 'lib/procview/stats.rb', line 111 def [](y) @accumulators[y].sum end |
#acc!(type, duration) ⇒ Object
123 124 125 |
# File 'lib/procview/stats.rb', line 123 def acc! type, duration @accumulators[TYPE[type]].acc! duration end |
#add!(other) ⇒ Object
117 118 119 |
# File 'lib/procview/stats.rb', line 117 def add!(other) @accumulators.map!.with_index{|t,i| t += other.accumulators[i]} end |
#averages(digits) ⇒ Object
132 133 134 |
# File 'lib/procview/stats.rb', line 132 def averages digits @accumulators.map{|a|a.ave.to_duration(digits)} end |
#counts(digits) ⇒ Object
129 130 131 |
# File 'lib/procview/stats.rb', line 129 def counts digits @accumulators.map{|a|a.n.to_si(digits)} end |
#deviations(digits) ⇒ Object
135 136 137 |
# File 'lib/procview/stats.rb', line 135 def deviations digits @accumulators.map{|a|a.stddev.to_duration(digits)} end |
#durations(digits) ⇒ Object
126 127 128 |
# File 'lib/procview/stats.rb', line 126 def durations digits @accumulators.map{|a|a.sum.to_duration(digits)} end |
#sum ⇒ Object
120 121 122 |
# File 'lib/procview/stats.rb', line 120 def sum @accumulators.map{|m|m.sum}.reduce(:+) end |
#values ⇒ Object
114 115 116 |
# File 'lib/procview/stats.rb', line 114 def values @accumulators.map{|a|a.sum} end |