Class: Evidence::LittlesLawAnalysis
- Inherits:
-
Object
- Object
- Evidence::LittlesLawAnalysis
- Defined in:
- lib/evidence/littles_law_analysis.rb
Overview
Little’s Law analysis, input stream log should include the following data => {:timestamp, :response => :completed_time}
Defined Under Namespace
Classes: Result
Instance Method Summary collapse
- #[](block) ⇒ Object
-
#initialize(time_window) ⇒ LittlesLawAnalysis
constructor
time_window: second.
Constructor Details
#initialize(time_window) ⇒ LittlesLawAnalysis
time_window: second
36 37 38 |
# File 'lib/evidence/littles_law_analysis.rb', line 36 def initialize(time_window) @time_window = time_window end |
Instance Method Details
#[](block) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/evidence/littles_law_analysis.rb', line 40 def [](block) result = nil lambda do |log| = Time.parse(log[:request][:timestamp]) if result.nil? result = Result.new(, @time_window) else if result.ended?() block.call(result.value) result = result.next end end result.add(log[:response][:completed_time].to_i) end end |