module RailsMemoryBloat::Logger

Public Instance Methods

log_memory_usage() click to toggle source
# File lib/rails_memory_bloat/logger.rb, line 10
def log_memory_usage
  @@mem ||= GetProcessMem.new
  records = ActiveRecordInstanceCount::HashUtils.to_sorted_array(ActiveRecord::Base.instantiated_hash)
  records.unshift(ActiveRecord::Base.total_objects_instantiated)
  project, user = @project.try(:id).inspect, @user.try(:id).inspect
  tags = ["PID: #{$$}", "Project: #{@project.try(:id).inspect}",
          "User: #{@user.try(:id).inspect}", "Mem: #{@@mem.kb}",
          "Records: (#{records.join(' | ')})"]
  logger.info("[Memory Usage] #{tags.join(' ')}; #{request.fullpath}")
end