Class: JmeterReports::Summary
- Inherits:
-
Object
- Object
- JmeterReports::Summary
- Defined in:
- lib/jmeter/reports/summary.rb
Constant Summary collapse
- CSV_HEADER =
"timeStamp,elapsed,label,responseCode,responseMessage,threadName,"+ "dataType,success,bytes,grpThreads,allThreads,URL,Latency\n"
Class Method Summary collapse
Instance Method Summary collapse
- #add(line) ⇒ Object
- #avg_throughput ⇒ Object
- #elapsed ⇒ Object
- #elapsed_in_ms ⇒ Object
- #end_date ⇒ Object
-
#initialize ⇒ Summary
constructor
A new instance of Summary.
- #items ⇒ Object
- #start_date ⇒ Object
- #total_requests ⇒ Object
Constructor Details
#initialize ⇒ Summary
Returns a new instance of Summary.
6 7 8 9 |
# File 'lib/jmeter/reports/summary.rb', line 6 def initialize @items = {} @req_count = 0 end |
Class Method Details
.create(summary_report_file_path) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/jmeter/reports/summary.rb', line 11 def self.create(summary_report_file_path) report = Summary.new csv_report = File.open(summary_report_file_path,'r') unless csv_report.readline == CSV_HEADER raise Exception.new("Invalid CSV report: #{summary_report_file_path}") end csv_report.each_line do |line| next if line.start_with?("timeStamp,") # ignore header report.add(SummaryLine.parse(line)) end return report end |
Instance Method Details
#add(line) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/jmeter/reports/summary.rb', line 26 def add(line) @items[line.label] = SummaryItem.new(line.label) if @items[line.label].nil? @items[line.label].add(line) @req_count += 1 @start_ms = line. if @start_ms.nil? || line. < @start_ms @end_ms = line. if @end_ms.nil? || line. > @end_ms end |
#avg_throughput ⇒ Object
42 43 44 |
# File 'lib/jmeter/reports/summary.rb', line 42 def avg_throughput @req_count / self.elapsed end |
#elapsed ⇒ Object
38 39 40 |
# File 'lib/jmeter/reports/summary.rb', line 38 def elapsed (self.elapsed_in_ms / 1000.0).ceil end |
#elapsed_in_ms ⇒ Object
34 35 36 |
# File 'lib/jmeter/reports/summary.rb', line 34 def elapsed_in_ms @end_ms - @start_ms end |
#end_date ⇒ Object
58 59 60 |
# File 'lib/jmeter/reports/summary.rb', line 58 def end_date Time.at(@end_ms / 1000.0) end |
#items ⇒ Object
46 47 48 |
# File 'lib/jmeter/reports/summary.rb', line 46 def items @items.values end |
#start_date ⇒ Object
54 55 56 |
# File 'lib/jmeter/reports/summary.rb', line 54 def start_date Time.at(@start_ms / 1000.0) end |
#total_requests ⇒ Object
50 51 52 |
# File 'lib/jmeter/reports/summary.rb', line 50 def total_requests @req_count end |