module PerformanceAnalyzer

Constants

VERSION

Public Class Methods

call() { || ... } click to toggle source
# File lib/performance_analyzer.rb, line 7
    def call
      start = Time.now
      initial_memory_usage = memory_usage
      result = yield
      stop_time = Time.now
      logger.info("\e[1;31m
Total Time Taken: #{ (Time.now - start) * 1000 }(ms)
Memory shoots from #{ initial_memory_usage } to #{ memory_usage }
        \e[0m")
      result
    end
logger() click to toggle source
# File lib/performance_analyzer.rb, line 19
def logger
  @logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
end
logger=(_logger) click to toggle source
# File lib/performance_analyzer.rb, line 23
def logger=(_logger)
  @logger = logger
end

Private Class Methods

memory_usage() click to toggle source
# File lib/performance_analyzer.rb, line 28
def memory_usage
  ActiveSupport::NumberHelper.number_to_human_size(`ps -o rss= -p #{Process.pid}`.to_i)
end