class Trebuchet::Parser
Attributes
failed_requests[R]
requests[R]
rps[R]
Public Class Methods
new(siege_result)
click to toggle source
# File lib/trebuchet/parser.rb, line 4 def initialize siege_result parse siege_result end
Private Instance Methods
parse(result)
click to toggle source
# File lib/trebuchet/parser.rb, line 9 def parse result data_lines = result.lines.to_a[4..-1] data_lines.each do |line| method = "parse_#{line.split(":").first}".downcase.gsub(" ", "_").gsub("\b", "") send(method, line.split(":").last) if private_methods.include? method.to_sym end if @requests.nil? or @failed_requests.nil? or @rps.nil? puts result @requests = 0 if @requests.nil? @failed_requests = 0 if @failed_requests.nil? @rps = 0 if @rps.nil? end end
parse_failed_transactions(data)
click to toggle source
# File lib/trebuchet/parser.rb, line 27 def parse_failed_transactions data @failed_requests = Integer(data.match(/\d+/)[0]) end
parse_transaction_rate(data)
click to toggle source
# File lib/trebuchet/parser.rb, line 31 def parse_transaction_rate data @rps = data.match(/[-+]?[0-9]*\.?[0-9]+/)[0].to_f end
parse_transactions(data)
click to toggle source
# File lib/trebuchet/parser.rb, line 23 def parse_transactions data @requests = Integer(data.match(/\d+/)[0]) end