Merge pull request #10446 from dasch/instrument-template-compilation
Instrument template compilation
This commit is contained in:
commit
b8577bb673
@ -138,7 +138,7 @@ def supports_streaming?
|
||||
# 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 @@ def compile!(view) #:nodoc:
|
||||
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 @@ def method_name #:nodoc:
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user