class QueryDiet::Logger
Constants
- DEFAULT_OPTIONS
Attributes
paused[RW]
queries[RW]
Public Class Methods
bad?(options = {})
click to toggle source
# File lib/query_diet/logger.rb, line 33 def bad?(options = {}) options = options.reverse_merge(DEFAULT_OPTIONS) count >= options[:bad_count] or time >= options[:bad_time] end
count()
click to toggle source
# File lib/query_diet/logger.rb, line 29 def count queries.size end
log(query) { || ... }
click to toggle source
# File lib/query_diet/logger.rb, line 12 def log(query) if paused? yield else result = nil time = Benchmark.realtime do result = yield end queries << [query, time] if log_query?(query) result end end
paused?()
click to toggle source
# File lib/query_diet/logger.rb, line 38 def paused? paused end
reset()
click to toggle source
# File lib/query_diet/logger.rb, line 8 def reset self.queries = [] end
time()
click to toggle source
# File lib/query_diet/logger.rb, line 25 def time (queries.sum(&:last) * 1000).to_i end
Private Class Methods
log_query?(query)
click to toggle source
# File lib/query_diet/logger.rb, line 44 def log_query?(query) query =~ /^(select|create|update|delete|insert)\b/i end