Class: Benchmark::HTTP::Statistics

Inherits:
Stopwatch
  • Object
show all
Defined in:
lib/benchmark/http/statistics.rb

Instance Attribute Summary

Attributes inherited from Stopwatch

#concurrency, #samples

Instance Method Summary collapse

Methods inherited from Stopwatch

#average, #count, #duration, #latency, #measure, #per_second, #sample, #sequential_duration, #similar?, #standard_deviation, #standard_error, #valid?, #variance

Constructor Details

#initializeStatistics

Returns a new instance of Statistics.



156
157
158
159
160
161
# File 'lib/benchmark/http/statistics.rb', line 156

def initialize(*)
  super
  
  # The count of the status codes seen in the responses:
  @responses = Hash.new{|h,k| 0}
end

Instance Method Details

#add(duration, result) ⇒ Object



163
164
165
166
167
# File 'lib/benchmark/http/statistics.rb', line 163

def add(duration, result)
  super
  
  @responses[result.status] += 1
end


169
170
171
172
173
174
175
176
177
# File 'lib/benchmark/http/statistics.rb', line 169

def print(out = STDOUT)
  if valid?
    counts = @responses.sort.collect{|status, count| "#{count}x #{status}"}.join("; ")
    
    out.puts "#{@samples.count} samples: #{counts}. #{per_second.round(2)} requests per second. S/D: #{Seconds[standard_deviation]}."
  else
    out.puts "Not enough samples."
  end
end