Class: Report

Inherits:
Object
  • Object
show all
Defined in:
lib/report.rb

Instance Method Summary collapse

Constructor Details

#initialize(run_times) ⇒ Report

Returns a new instance of Report.



6
7
8
# File 'lib/report.rb', line 6

def initialize(run_times)
  @run_times = run_times
end

Instance Method Details

#run_times_per_requestObject



41
42
43
44
45
46
47
48
49
# File 'lib/report.rb', line 41

def run_times_per_request
  request_times = {}
  @run_times.flatten.each do |rt|
    key = rt[:request].url + "(" + rt[:request].method.to_s + ")"
    request_times[key] ||= []
    request_times[key] << rt[:time]
  end
  request_times
end

#run_times_per_userObject



33
34
35
36
37
38
39
# File 'lib/report.rb', line 33

def run_times_per_user
  all = []
  @run_times.each do |session|
    all << session.map { |x| x[:time] }
  end
  all
end

#to_sObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/report.rb', line 10

def to_s
  out = []
  out << "Run times per user: "
  out << "\t - values: " + run_times_per_user.inspect
  out << "\t - averages per user: " + run_times_per_user.map(&:average).inspect
  out << "\t - total average: " + run_times_per_user.flatten.average.to_s
  out << ""
  out << "Run times per request: "
  out << "\t - values: "
  run_times_per_request.each do |k,v|
    out << "\t\t -" + k + " \t\t" + v.inspect
  end
  out << "\t - averages per request:"
  
  run_times_per_request.each do |k,v|
    out << "\t\t-" + k
    out << "\t\t avg: " + v.average.to_s + " \tstd:" + v.standard_deviation.to_s
    out << ""
  end
  out.join("\n")
end