diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2007-02-16 21:13:02 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2007-02-16 21:13:02 +0000 |
commit | c74c78c88d94a2e3362f9cb55a8a86b2760cfa71 (patch) | |
tree | a4b58381eb52e43eb0c06f6cd365b8efaa409b81 /actionpack/lib/action_controller | |
parent | 06669f8b13b351c251bc24eb2068c5005c9776a8 (diff) | |
download | rails-c74c78c88d94a2e3362f9cb55a8a86b2760cfa71.tar.gz rails-c74c78c88d94a2e3362f9cb55a8a86b2760cfa71.tar.bz2 rails-c74c78c88d94a2e3362f9cb55a8a86b2760cfa71.zip |
Added X-Benchmark to all responses with the same benchmark data as goes into the log [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6156 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r-- | actionpack/lib/action_controller/benchmarking.rb | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/actionpack/lib/action_controller/benchmarking.rb b/actionpack/lib/action_controller/benchmarking.rb index ae0dd3b9be..e9844337af 100644 --- a/actionpack/lib/action_controller/benchmarking.rb +++ b/actionpack/lib/action_controller/benchmarking.rb @@ -63,16 +63,21 @@ module ActionController #:nodoc: unless logger perform_action_without_benchmark else - runtime = [Benchmark::measure{ perform_action_without_benchmark }.real, 0.0001].max + runtime = [ Benchmark::measure{ perform_action_without_benchmark }.real, 0.0001 ].max log_message = "Completed in #{sprintf("%.5f", runtime)} (#{(1 / runtime).floor} reqs/sec)" log_message << rendering_runtime(runtime) if defined?(@rendering_runtime) log_message << active_record_runtime(runtime) if Object.const_defined?("ActiveRecord") && ActiveRecord::Base.connected? - log_message << " | #{headers["Status"]}" - log_message << " [#{complete_request_uri rescue "unknown"}]" - logger.info(log_message) + + log_message_with_status = log_message.dup + log_message_with_status << " | #{headers["Status"]}" + log_message_with_status << " [#{complete_request_uri rescue "unknown"}]" + + response.headers["X-Benchmark"] = log_message + logger.info(log_message_with_status) end end - + + private def rendering_runtime(runtime) " | Rendering: #{sprintf("%.5f", @rendering_runtime)} (#{sprintf("%d", (@rendering_runtime * 100) / runtime)}%)" |