Sha256: 20a74ba07ac129e4a079781da1f9de5f45d716909e3cb7428f6c8952e4710173
Contents?: true
Size: 731 Bytes
Versions: 2
Compression:
Stored size: 731 Bytes
Contents
module QueryDiet class Logger class << self attr_accessor :queries, :bad_count, :bad_time def reset self.queries = [] end def log(query) result = nil time = Benchmark.realtime do result = yield end queries << [query, time] if log_query?(query) result end def time (queries.sum(&:last) * 1000).to_i end def count queries.size end def bad? count >= bad_count or time >= bad_time end private def log_query?(query) query =~ /^(select|create|update|delete|insert)\b/i end end reset self.bad_count = 8 self.bad_time = 5000 end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
query_diet-0.3.1 | lib/query_diet/logger.rb |
query_diet-0.3.0 | lib/query_diet/logger.rb |