aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2009-09-18 08:08:02 -0300
committerJosé Valim <jose.valim@gmail.com>2009-09-20 10:56:38 -0300
commit8f47f311b7665d74220baf1449b39dc4e70e13e2 (patch)
tree006f657e8147a72c88f3dbbc294d2aa7b1d9b5b3 /actionpack/lib
parent3c9a37c9c474b9ae2be2cdb73a5ee0c3439d4e5e (diff)
downloadrails-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.rb11
-rw-r--r--actionpack/lib/action_view/template/template.rb6
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)