Module: Abr
- Defined in:
- lib/abr.rb,
lib/abr/command.rb,
lib/abr/version.rb
Defined Under Namespace
Classes: Command
Constant Summary collapse
- VERSION =
"0.1.7"
Class Method Summary collapse
Class Method Details
.test(options) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/abr.rb', line 7 def self.test() input_file = [:input_file] output_file = [:output_file] || 'ab_result.csv' interval = [:interval]&.to_i || 10 result = open(input_file).map do |line| next unless line[0..1] == 'ab' result = {} IO.popen(line) do |io| while str = io.gets next if str.include?('This is ApacheBench') scan_result = str.scan(/^(.+):\s+(.+)/) if scan_result.length > 0 key = scan_result[0][0] value = scan_result[0][1] key = "#{key}+" if result.has_key?(key) if ['Connect', 'Processing', 'Waiting', 'Total'].include?(key) values = value.split(' ').map {|val| val.strip} result["#{key} min"] = values[0] result["#{key} mean"] = values[1] result["#{key} [+/-sd]"] = values[2] result["#{key} median"] = values[3] result["#{key} max"] = values[4] else result[key] = value end end end end sleep interval result end CSV.open(output_file, 'w') do |csv| csv << result.first.keys result.each do |r| csv << r.values end end end |