fixed ebb_rails stopping
[ebb.git] / benchmark / bench_results.rb
blob3c1e6166e75e125faa8c6da3de33eff08f97827e
1 # supply the benchmark dump file as an argumetn to this program
2 require 'rubygems'
3 require 'google_chart'
4 require 'server_test'
6 class Array
7   def avg
8     sum.to_f / length
9   end
10   def sum
11     inject(0) { |i, s| s += i }
12   end
13 end
17 colors = %w{F74343 444130 7DA478 E4AC3D}
18 max_x = 0
19 max_y = 0
20 results = ServerTestResults.open(ARGV[0])
21 all_m = []
22 response_chart = GoogleChart::LineChart.new('400x300', Time.now.strftime('%Y.%m.%d'), true)
23 results.servers.each do |server|
24   data = results.data(server).sort
25   response_chart.data(server, data, colors.shift)
26   x = data.map { |d| d[0] }.max
27   y = data.map { |d| d[1] }.max
28   max_x = x if x > max_x
29   max_y = y if y > max_y
30 end
32 label = case results.benchmark
33 when "response_size"
34   "kilobytes served"
35 when "wait_fib", "concurrency"
36   "concurrency"
37 when "post_size"
38   "kilobytes uploaded"
39 end
41 response_chart.axis(:y, :range => [0,max_y])
42 response_chart.axis(:y, :labels => ['req/s'], :positions => [50])
43 response_chart.axis(:x, :range => [0,max_x])
44 response_chart.axis(:x, :labels => [label], :positions => [50])
45 puts response_chart.to_url