aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2013-05-06 18:31:01 -0700
committerRafael Mendonça França <rafaelmfranca@gmail.com>2013-05-06 18:31:01 -0700
commitb8577bb67356fead9b72fe36766e32495aa56f52 (patch)
tree7528de973f5beb2d544d7eff412bc5c1675c1a77 /actionpack
parent17c1143af91fac5d1b6465ed5ad26315b1a2ec27 (diff)
parentd6b9e8e9319f2a568224456e3e15759b76581eed (diff)
downloadrails-b8577bb67356fead9b72fe36766e32495aa56f52.tar.gz
rails-b8577bb67356fead9b72fe36766e32495aa56f52.tar.bz2
rails-b8577bb67356fead9b72fe36766e32495aa56f52.zip
Merge pull request #10446 from dasch/instrument-template-compilation
Instrument template compilation
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_view/template.rb11
1 files changed, 9 insertions, 2 deletions
diff --git a/actionpack/lib/action_view/template.rb b/actionpack/lib/action_view/template.rb
index 946db1df79..ebbc1c79d6 100644
--- a/actionpack/lib/action_view/template.rb
+++ b/actionpack/lib/action_view/template.rb
@@ -138,7 +138,7 @@ module ActionView
# we use a bang in this instrumentation because you don't want to
# consume this in production. This is only slow if it's being listened to.
def render(view, locals, buffer=nil, &block)
- ActiveSupport::Notifications.instrument("!render_template.action_view", virtual_path: @virtual_path, identifier: @identifier) do
+ instrument("!render_template") do
compile!(view)
view.send(method_name, locals, buffer, &block)
end
@@ -245,7 +245,9 @@ module ActionView
mod = view.singleton_class
end
- compile(view, mod)
+ instrument("!compile_template") do
+ compile(view, mod)
+ end
# Just discard the source if we have a virtual path. This
# means we can get the template back.
@@ -335,5 +337,10 @@ module ActionView
def identifier_method_name #:nodoc:
inspect.gsub(/[^a-z_]/, '_')
end
+
+ def instrument(action, &block)
+ payload = { virtual_path: @virtual_path, identifier: @identifier }
+ ActiveSupport::Notifications.instrument("#{action}.action_view", payload, &block)
+ end
end
end