Class: Benchmark::HTTP::Statistics
- Defined in:
- lib/benchmark/http/statistics.rb
Instance Attribute Summary collapse
-
#responses ⇒ Object
readonly
Returns the value of attribute responses.
Attributes inherited from Stopwatch
Instance Method Summary collapse
- #add(duration, result) ⇒ Object
- #failed ⇒ Object
-
#initialize ⇒ Statistics
constructor
A new instance of Statistics.
- #print(out = STDOUT) ⇒ Object
Methods inherited from Stopwatch
#average, #count, #duration, #latency, #measure, #per_second, #sample, #sequential_duration, #similar?, #standard_deviation, #standard_error, #valid?, #variance
Constructor Details
#initialize ⇒ Statistics
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 Attribute Details
#responses ⇒ Object (readonly)
Returns the value of attribute responses.
163 164 165 |
# File 'lib/benchmark/http/statistics.rb', line 163 def responses @responses end |
Instance Method Details
#add(duration, result) ⇒ Object
169 170 171 172 173 |
# File 'lib/benchmark/http/statistics.rb', line 169 def add(duration, result) super @responses[result.status] += 1 end |
#failed ⇒ Object
165 166 167 |
# File 'lib/benchmark/http/statistics.rb', line 165 def failed @responses.sum{|status, count| status >= 400 ? count : 0} end |
#print(out = STDOUT) ⇒ Object
175 176 177 178 179 180 181 182 183 |
# File 'lib/benchmark/http/statistics.rb', line 175 def print(out = STDOUT) if valid? counts = @responses.sort.collect{|status, count| "#{count}x #{status}"}.join("; ") out.puts "#{@samples.size} samples: #{counts}. #{per_second.round(2)} requests per second. S/D: #{Seconds[standard_deviation]}." else out.puts "Not enough samples." end end |