class QueriesWatch::Subscriber

Constants

COLORS

Public Class Methods

flush() click to toggle source
# File lib/queries_watch/subscriber.rb, line 19
def self.flush
  summary = Current.summary
  level = Current.level
  name = ActiveSupport::LogSubscriber.new.send(:color, 'Queries', COLORS.fetch(level), true)
  message = "#{name} total_count: #{summary.total_count}, cached_count: #{summary.cached_count}, exec_count: #{summary.exec_count}, total_duration: #{summary.total_duration}"
  Rails.logger.public_send(level, message) if summary.total_count > 0
end

Public Instance Methods

sql(event) click to toggle source
# File lib/queries_watch/subscriber.rb, line 12
def sql(event)
  return if event.payload[:name] == 'SCHEMA'

  log = event.payload.slice(:name, :sql, :cached).merge(duration: event.duration)
  Current.logs << log
end