instance method benchmark

Ruby on Rails 2.2.3

Since v2.2.3 Last seen in v2.3.18

Available in: v2.2.3 v2.3.18

Signature

benchmark(title, log_level = Logger::DEBUG, use_silence = true)

Log and benchmark the workings of a single block and silence whatever logging that may have happened inside it (unless use_silence is set to false).

The benchmark is only recorded if the current level of the logger matches the log_level, which makes it easy to include benchmarking statements in production software that will remain inexpensive because the benchmark will only be conducted if the log level is low enough.

Parameters

title req
log_level opt = Logger::DEBUG
use_silence opt = true
Source
# File actionpack/lib/action_controller/benchmarking.rb, line 23
      def benchmark(title, log_level = Logger::DEBUG, use_silence = true)
        if logger && logger.level == log_level
          result = nil
          seconds = Benchmark.realtime { result = use_silence ? silence { yield } : yield }
          logger.add(log_level, "#{title} (#{('%.1f' % (seconds * 1000))}ms)")
          result
        else
          yield
        end
      end

Defined in actionpack/lib/action_controller/benchmarking.rb line 23 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActionController::Benchmarking::ClassMethods

Type at least 2 characters to search.

↑↓ navigate · open · esc close