[Groonga-commit] droonga/http-benchmark at fbb6f88 [master] Add a way to get result

Back to archive index

YUKI Hiroshi null+****@clear*****
Mon Oct 7 17:59:02 JST 2013


YUKI Hiroshi	2013-10-07 17:59:02 +0900 (Mon, 07 Oct 2013)

  New Revision: fbb6f885900f04cf47de4142bb3028d774772485
  https://github.com/droonga/http-benchmark/commit/fbb6f885900f04cf47de4142bb3028d774772485

  Message:
    Add a way to get result

  Modified files:
    lib/droonga/http-benchmark/runner.rb

  Modified: lib/droonga/http-benchmark/runner.rb (+25 -8)
===================================================================
--- lib/droonga/http-benchmark/runner.rb    2013-10-07 17:47:03 +0900 (462e838)
+++ lib/droonga/http-benchmark/runner.rb    2013-10-07 17:59:02 +0900 (215cdc5)
@@ -7,7 +7,7 @@ require "json"
 module Droonga
   module HttpBenchmark
     class Runner
-      attr_reader :duration, :n_clients
+      attr_reader :duration, :n_clients, :result
 
       MIN_DURATION = 1
       DEFAULT_DURATION = 10
@@ -45,6 +45,8 @@ module Droonga
       def run
         process_requests
         analyze_results
+        output_result
+        @result
       end
 
       private
@@ -131,17 +133,32 @@ module Droonga
         http_status_percentages.sort! do |a, b|
           (-1) * (a[:percentage] <=> b[:percentage])
         end
+        sorted_http_statuses = {}
+        http_status_percentages.each do |status|
+          sorted_http_statuses[status[:status]] = status[:percentage]
+        end
 
-        puts "Total requests: #{total_n_requests} " +
-               "(#{total_n_requests.to_f / @duration} queries per second)"
+        @result = {
+          :total_n_rewuests => total_n_requests,
+          :queries_per_second => total_n_requests.to_f / @duration,
+          :responses => sorted_http_statuses,
+          :min_elapsed_time => min_elapsed_time,
+          :max_elapsed_time => max_elapsed_time,
+          :average_elapsed_time => total_elapsed_time / total_n_requests,
+        }
+      end
+
+      def output_result
+        puts "Total requests: #{@result[:total_n_requests]} " +
+               "(#{@result[:queries_per_second]} queries per second)"
         puts "Status:"
-        http_status_percentages.each do |status|
-          puts "  #{status[:status]}: #{status[:percentage]} %"
+        @result[:responses].each do |status, percentage|
+          puts "  #{status}: #{percentage} %"
         end
         puts "Elapsed time:"
-        puts "  min:     #{min_elapsed_time} sec"
-        puts "  max:     #{max_elapsed_time} sec"
-        puts "  average: #{total_elapsed_time / total_n_requests} sec"
+        puts "  min:     #{@result[:min_elapsed_time} sec"
+        puts "  max:     #{@result[:max_elapsed_time} sec"
+        puts "  average: #{@result[:average_elapsed_time]} sec"
       end
 
       def populate_requests
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index