Class: RailsPerformance::Reports::ResourcesReport

Inherits:
BaseReport
  • Object
show all
Defined in:
lib/rails_performance/reports/resources_report.rb

Instance Attribute Summary

Attributes inherited from BaseReport

#db, #group, #sort, #title

Instance Method Summary collapse

Methods inherited from BaseReport

#calculate_data, #collect, #initialize, #nil_data, #nullify_data, #set_defaults, time_in_app_time_zone

Constructor Details

This class inherits a constructor from RailsPerformance::Reports::BaseReport

Instance Method Details

#cpuObject



12
13
14
15
16
17
18
# File 'lib/rails_performance/reports/resources_report.rb', line 12

def cpu
  @cpu ||= data.transform_values do |v|
    prepare_report(v.each_with_object({}) do |e, res|
      res[e[:datetimei] * 1000] = e[:cpu]["one_min"].to_f.round(2)
    end)
  end
end

#dataObject



4
5
6
7
8
9
10
# File 'lib/rails_performance/reports/resources_report.rb', line 4

def data
  @data ||= db.data
    .collect { |e| e.record_hash }
    .group_by { |e| e[:server] + "///" + e[:context] + "///" + e[:role] }
    # .transform_values { |v| v.sort { |a, b| b[sort] <=> a[sort] } }
    .transform_values { |v| v.map { |e| e.merge({datetimei: e[:datetimei].to_i}) } }
end

#diskObject



28
29
30
31
32
33
34
# File 'lib/rails_performance/reports/resources_report.rb', line 28

def disk
  @disk ||= data.transform_values do |v|
    prepare_report(v.each_with_object({}) do |e, res|
      res[e[:datetimei] * 1000] = e[:disk]["available"].to_f.round(2)
    end)
  end
end

#memoryObject



20
21
22
23
24
25
26
# File 'lib/rails_performance/reports/resources_report.rb', line 20

def memory
  @memory ||= data.transform_values do |v|
    prepare_report(v.each_with_object({}) do |e, res|
      res[e[:datetimei] * 1000] = e[:memory].to_f.round(2)
    end)
  end
end