Class: RailsRequestStats::Report
- Inherits:
-
Object
- Object
- RailsRequestStats::Report
- Defined in:
- lib/rails_request_stats/report.rb
Constant Summary collapse
- FORMAT_FLAG =
'%g'.freeze
Class Attribute Summary collapse
-
.print_memory_stats ⇒ Object
Returns the value of attribute print_memory_stats.
Instance Attribute Summary collapse
-
#request_stats ⇒ Object
readonly
Returns the value of attribute request_stats.
Instance Method Summary collapse
- #avg(collection) ⇒ Object
- #exit_report_text ⇒ Object
-
#initialize(request_stats) ⇒ Report
constructor
A new instance of Report.
- #report_text ⇒ Object
- #total(collection) ⇒ Object
Constructor Details
#initialize(request_stats) ⇒ Report
Returns a new instance of Report.
12 13 14 |
# File 'lib/rails_request_stats/report.rb', line 12 def initialize(request_stats) @request_stats = request_stats end |
Class Attribute Details
.print_memory_stats ⇒ Object
Returns the value of attribute print_memory_stats.
6 7 8 |
# File 'lib/rails_request_stats/report.rb', line 6 def print_memory_stats @print_memory_stats end |
Instance Attribute Details
#request_stats ⇒ Object (readonly)
Returns the value of attribute request_stats.
10 11 12 |
# File 'lib/rails_request_stats/report.rb', line 10 def request_stats @request_stats end |
Instance Method Details
#avg(collection) ⇒ Object
45 46 47 |
# File 'lib/rails_request_stats/report.rb', line 45 def avg(collection) total(collection).to_f / collection.size end |
#exit_report_text ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 |
# 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 ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# 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) ⇒ Object
41 42 43 |
# File 'lib/rails_request_stats/report.rb', line 41 def total(collection) collection.reduce(:+) end |