class MemoryTracker::Stores::UrlLogfileStore
Public Class Methods
new(opts)
click to toggle source
# File lib/memory_tracker/stores/url_logfile_store.rb, line 6 def initialize(opts) logger_class = opts.fetch(:logger_class, 'Logger') filename = opts.fetch(:filename, "#{Rails.root}/log/memtracker_urls.log") @logger = logger_class.constantize.new(filename) if @logger.respond_to?(:formatter) @logger.formatter = proc do |severity, datetime, progname, msg| "#{msg}\n" end end end
Public Instance Methods
push(request)
click to toggle source
# File lib/memory_tracker/stores/url_logfile_store.rb, line 18 def push(request) @request = request write_request_log end
stats()
click to toggle source
# File lib/memory_tracker/stores/url_logfile_store.rb, line 23 def stats end
Private Instance Methods
logline()
click to toggle source
# File lib/memory_tracker/stores/url_logfile_store.rb, line 32 def logline pid = Process.pid end_gcstats = @request.end_gcstat start_gcstats = @request.start_gcstat delta_gcstats = @request.gcstat_delta.stats log_msg = "#{Time.now.localtime.strftime("%m-%d %H:%M:%S")} pid:#{'%05d' % pid}" log_msg << " rss=#{'%6.2f' % end_gcstats[:rss]}" log_msg << " vsize=#{'%6.2f' % end_gcstats[:vsize]}" if (end_gcstats[:rss] / start_gcstats[:rss] > 1.005) || delta_gcstats[:heap_used] > 0 log_msg << " *** #{@request.gcstat_delta.custom.inspect}" end log_msg << " #{@request.path}" end
write_request_log()
click to toggle source
# File lib/memory_tracker/stores/url_logfile_store.rb, line 28 def write_request_log @logger.info logline end