class RailsPerformance::Reports::ResponseTimeReport
Public Instance Methods
data()
click to toggle source
# File lib/rails_performance/reports/response_time_report.rb, line 8 def data all = {} stop = Time.at(60 * (Time.now.to_i / 60)) current = stop - RailsPerformance.duration @data = [] offset = Time.current.utc_offset # puts "current: #{current}" # puts "stop: #{stop}" # read current values db.group_by(group).each do |(k, v)| durations = v.collect{|e| e["duration"]}.compact next if durations.empty? all[k] = durations.sum.to_f / durations.count end # add blank columns while current <= stop views = all[current.strftime(RailsPerformance::FORMAT)] || 0 @data << [(current.to_i + offset) * 1000, views.round(2)] current += 1.minute end # sort by time @data.sort! end
set_defaults()
click to toggle source
# File lib/rails_performance/reports/response_time_report.rb, line 4 def set_defaults @group ||= :datetime end