class RailsRequestStats::Report
Constants
- FORMAT_FLAG
Attributes
print_memory_stats[RW]
request_stats[R]
Public Class Methods
new(request_stats)
click to toggle source
# File lib/rails_request_stats/report.rb, line 12 def initialize(request_stats) @request_stats = request_stats end
Public Instance Methods
avg(collection)
click to toggle source
# File lib/rails_request_stats/report.rb, line 45 def avg(collection) total(collection).to_f / collection.size end
exit_report_text()
click to toggle source
# File lib/rails_request_stats/report.rb, line 29 def exit_report_text controller_information = "[RailsRequestStats] #{@request_stats.action.upcase}:#{@request_stats.format} \"#{@request_stats.path}\"" avg_view_runtime = "AVG view_runtime: #{format_number(avg(runtime_stats.view_runtime_collection))}ms" avg_db_runtime = "AVG db_runtime: #{format_number(avg(runtime_stats.db_runtime_collection))}ms" avg_generated_object_count = "AVG generated_object_count: #{format_number(avg(object_space_stats.generated_object_count_collection))}" min_query_count = "MIN query_count: #{format_number(database_query_stats.query_count_collection.min)}" max_query_count = "MAX query_count: #{format_number(database_query_stats.query_count_collection.max)}" request_count = "from #{format_number(runtime_stats.view_runtime_collection.size)} requests" "#{controller_information} (#{[avg_view_runtime, avg_db_runtime, avg_generated_object_count, min_query_count, max_query_count].join(' | ')}) #{request_count}" end
report_text()
click to toggle source
# File lib/rails_request_stats/report.rb, line 16 def report_text avg_view_runtime = "AVG view_runtime: #{format_number(avg(runtime_stats.view_runtime_collection))}ms" avg_db_runtime = "AVG db_runtime: #{format_number(avg(runtime_stats.db_runtime_collection))}ms" avg_generated_object_count = "AVG generated_object_count: #{format_number(avg(object_space_stats.generated_object_count_collection))}" query_count = "query_count: #{format_number(database_query_stats.query_count_collection.last)}" cached_query_count = "cached_query_count: #{format_number(database_query_stats.cached_query_count_collection.last)}" cache_read_count = "cache_read_count: #{format_number(cache_stats.cache_read_count_collection.last)}" cache_hit_count = "cache_hit_count: #{format_number(cache_stats.cache_hit_count_collection.last)}" generated_objects = self.class.print_memory_stats ? "generated_objects: #{object_space_stats.last_stats_generated_objects}" : nil "[RailsRequestStats] (#{[avg_view_runtime, avg_db_runtime, avg_generated_object_count, query_count, cached_query_count, cache_read_count, cache_hit_count, generated_objects].compact.join(' | ')})" end
total(collection)
click to toggle source
# File lib/rails_request_stats/report.rb, line 41 def total(collection) collection.reduce(:+) end
Private Instance Methods
cache_stats()
click to toggle source
# File lib/rails_request_stats/report.rb, line 67 def cache_stats @cache_stats ||= @request_stats.cache_stats end
database_query_stats()
click to toggle source
# File lib/rails_request_stats/report.rb, line 55 def database_query_stats @database_query_stats ||= @request_stats.database_query_stats end
format_number(number)
click to toggle source
# File lib/rails_request_stats/report.rb, line 51 def format_number(number) format(FORMAT_FLAG, number || 0) end
object_space_stats()
click to toggle source
# File lib/rails_request_stats/report.rb, line 59 def object_space_stats @object_space_stats ||= @request_stats.object_space_stats end
runtime_stats()
click to toggle source
# File lib/rails_request_stats/report.rb, line 63 def runtime_stats @runtime_stats ||= @request_stats.runtime_stats end