instance method
benchmark
Ruby on Rails 2.2.3
Since v2.2.3 Last seen in v2.3.18Available 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
-
titlereq -
log_levelopt = Logger::DEBUG -
use_silenceopt = 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