class Praxis::Mapper::QueryStatistics
Public Class Methods
new(queries_by_model)
click to toggle source
# File lib/praxis-mapper/query_statistics.rb, line 5 def initialize(queries_by_model) @queries_by_model = queries_by_model end
Public Instance Methods
sum_totals()
click to toggle source
sums up statistics across all models and queries
# File lib/praxis-mapper/query_statistics.rb, line 30 def sum_totals @sum_totals ||= begin totals = Hash.new(0) sum_totals_by_model.each do |_, model_totals| model_totals.each do |stat, value| totals[stat] += value end end totals end end
sum_totals_by_model()
click to toggle source
sums up statistics across all queries, indexed by model
# File lib/praxis-mapper/query_statistics.rb, line 10 def sum_totals_by_model @sum_totals_by_model ||= begin totals = Hash.new { |hash, key| hash[key] = Hash.new(0) } @queries_by_model.each do |model, queries| totals[model][:query_count] = queries.length queries.each do |query| query.statistics.each do |stat, value| totals[model][stat] += value end end totals[model][:datastore_interaction_time] = totals[model][:datastore_interaction_time] end totals end end