Class: Evidence::LittlesLawAnalysis::Result
- Inherits:
-
Object
- Object
- Evidence::LittlesLawAnalysis::Result
- Defined in:
- lib/evidence/littles_law_analysis.rb
Instance Method Summary collapse
- #add(millisecond) ⇒ Object
- #ended?(timestamp) ⇒ Boolean
-
#initialize(start, time_window) ⇒ Result
constructor
A new instance of Result.
- #next ⇒ Object
- #value ⇒ Object
Constructor Details
#initialize(start, time_window) ⇒ Result
Returns a new instance of Result.
8 9 10 11 12 13 |
# File 'lib/evidence/littles_law_analysis.rb', line 8 def initialize(start, time_window) @start, @time_window = start, time_window @end = @start + @time_window @arrival_count = 0 @response_time = 0 end |
Instance Method Details
#add(millisecond) ⇒ Object
19 20 21 22 |
# File 'lib/evidence/littles_law_analysis.rb', line 19 def add(millisecond) @arrival_count += 1 @response_time += millisecond end |
#ended?(timestamp) ⇒ Boolean
15 16 17 |
# File 'lib/evidence/littles_law_analysis.rb', line 15 def ended?() @end <= end |
#next ⇒ Object
24 25 26 |
# File 'lib/evidence/littles_law_analysis.rb', line 24 def next Result.new(@start + @time_window, @time_window) end |
#value ⇒ Object
28 29 30 31 32 |
# File 'lib/evidence/littles_law_analysis.rb', line 28 def value avg_sec_arrival_rate = @arrival_count.to_f/@time_window avg_sec_response_time = @response_time.to_f/1000/@arrival_count [@start, @end, avg_sec_arrival_rate * avg_sec_response_time] end |