From ea45718a4c327f79256bed0ae98ae47572d34ed6 Mon Sep 17 00:00:00 2001 From: Hongli Lai (Phusion) Date: Sat, 24 Apr 2010 12:34:05 +0200 Subject: [PATCH] Instrument ActionController rendering begin and end time. --- .../lib/action_controller/metal/instrumentation.rb | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/actionpack/lib/action_controller/metal/instrumentation.rb b/actionpack/lib/action_controller/metal/instrumentation.rb index d69de65..7681529 100644 --- a/actionpack/lib/action_controller/metal/instrumentation.rb +++ b/actionpack/lib/action_controller/metal/instrumentation.rb @@ -11,7 +11,9 @@ module ActionController include AbstractController::Logger + attr_internal :view_begin attr_internal :view_runtime + attr_internal :view_end def process_action(action, *args) raw_payload = { @@ -35,9 +37,12 @@ module ActionController def render(*args) render_output = nil + self.view_begin = Time.now + self.view_end = Time.now self.view_runtime = cleanup_view_runtime do Benchmark.ms { render_output = super } end + self.view_end = Time.now render_output end @@ -81,7 +86,9 @@ module ActionController # with the payload, so you can add more information. # :api: plugin def append_info_to_payload(payload) #:nodoc: + payload[:view_begin] = view_begin payload[:view_runtime] = view_runtime + payload[:view_end] = view_end end module ClassMethods -- 1.6.6