diff options
author | José Valim <jose.valim@gmail.com> | 2009-09-18 08:08:02 -0300 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2009-09-20 10:56:38 -0300 |
commit | 8f47f311b7665d74220baf1449b39dc4e70e13e2 (patch) | |
tree | 006f657e8147a72c88f3dbbc294d2aa7b1d9b5b3 /actionpack/lib | |
parent | 3c9a37c9c474b9ae2be2cdb73a5ee0c3439d4e5e (diff) | |
download | rails-8f47f311b7665d74220baf1449b39dc4e70e13e2.tar.gz rails-8f47f311b7665d74220baf1449b39dc4e70e13e2.tar.bz2 rails-8f47f311b7665d74220baf1449b39dc4e70e13e2.zip |
Instrument process_action, render and sql.
Diffstat (limited to 'actionpack/lib')
-rw-r--r-- | actionpack/lib/abstract_controller/logger.rb | 11 | ||||
-rw-r--r-- | actionpack/lib/action_view/template/template.rb | 6 |
2 files changed, 11 insertions, 6 deletions
diff --git a/actionpack/lib/abstract_controller/logger.rb b/actionpack/lib/abstract_controller/logger.rb index 06b64d5cb2..980e9d2a8b 100644 --- a/actionpack/lib/abstract_controller/logger.rb +++ b/actionpack/lib/abstract_controller/logger.rb @@ -31,19 +31,22 @@ module AbstractController # Override process_action in the AbstractController::Base # to log details about the method. def process_action(action) - retval = super + event = ActiveSupport::Orchestra.instrument(:process_action, + :request => request, :action => action) do + super + end if logger log = DelayedLog.new do "\n\nProcessing #{self.class.name}\##{action_name} " \ - "to #{request.formats} " \ - "(for #{request_origin}) [#{request.method.to_s.upcase}]" + "to #{request.formats} (for #{request_origin}) " \ + "(%.1fms) [#{request.method.to_s.upcase}]" % event.duration end logger.info(log) end - retval + event.result end private diff --git a/actionpack/lib/action_view/template/template.rb b/actionpack/lib/action_view/template/template.rb index 7d6964e3e3..80c1bab7d5 100644 --- a/actionpack/lib/action_view/template/template.rb +++ b/actionpack/lib/action_view/template/template.rb @@ -27,8 +27,10 @@ module ActionView end def render(view, locals, &block) - method_name = compile(locals, view) - view.send(method_name, locals, &block) + ActiveSupport::Orchestra.instrument(:render_template, :identifier => identifier) do + method_name = compile(locals, view) + view.send(method_name, locals, &block) + end.result rescue Exception => e if e.is_a?(TemplateError) e.sub_template_of(self) |