class MemoryTracker::Stores::GcstatLogfileStore
Constants
- COLUMNS
Public Class Methods
new(opts)
click to toggle source
# File lib/memory_tracker/stores/gcstat_logfile_store.rb, line 8 def initialize(opts) logger_class = opts.fetch(:logger_class, 'Logger') filename = opts.fetch(:filename, "#{Rails.root}/log/memtracker_gcstat.log") @logger = logger_class.constantize.new(filename) if @logger.respond_to?(:formatter) @logger.formatter = proc do |severity, datetime, progname, msg| "#{msg}\n" end end @num_lines = 0 end
Public Instance Methods
push(request)
click to toggle source
# File lib/memory_tracker/stores/gcstat_logfile_store.rb, line 22 def push(request) @request = request write_header if @num_lines % 1000 == 0 write_request_log @num_lines += 1 end
stats()
click to toggle source
# File lib/memory_tracker/stores/gcstat_logfile_store.rb, line 30 def stats end
Private Instance Methods
logline()
click to toggle source
# File lib/memory_tracker/stores/gcstat_logfile_store.rb, line 43 def logline logline = "#{@request.controller}##{@request.action}," logline << @request.end_gcstat.ordered_values(COLUMNS).join(',') end
write_header()
click to toggle source
# File lib/memory_tracker/stores/gcstat_logfile_store.rb, line 35 def write_header @logger.info "##{COLUMNS.join(',')}" end
write_request_log()
click to toggle source
# File lib/memory_tracker/stores/gcstat_logfile_store.rb, line 39 def write_request_log @logger.info "#{Time.now.to_i},#{logline}" end