From c8915ec335887e07a967f2688d30c800b80ee256 Mon Sep 17 00:00:00 2001 From: Vipul A M Date: Tue, 16 Feb 2016 23:26:33 +0530 Subject: Added log "Rendering ...", when starting to render a template, to log that we have started to render something, at the very beginning. This helps to easily identify queries from controller vs views Fixes #23710 --- actionview/lib/action_view/log_subscriber.rb | 9 +++++++++ actionview/lib/action_view/renderer/template_renderer.rb | 1 + 2 files changed, 10 insertions(+) (limited to 'actionview/lib') diff --git a/actionview/lib/action_view/log_subscriber.rb b/actionview/lib/action_view/log_subscriber.rb index aa38db2a3a..2d59033cb3 100644 --- a/actionview/lib/action_view/log_subscriber.rb +++ b/actionview/lib/action_view/log_subscriber.rb @@ -30,6 +30,15 @@ module ActionView end end + + def start_rendering(event) + info do + message = "Rendering #{from_rails_root(event.payload[:identifier])}" + message << " within #{from_rails_root(event.payload[:layout])}" if event.payload[:layout] + message + end + end + def logger ActionView::Base.logger end diff --git a/actionview/lib/action_view/renderer/template_renderer.rb b/actionview/lib/action_view/renderer/template_renderer.rb index 9d15bbfca7..fd550d95e1 100644 --- a/actionview/lib/action_view/renderer/template_renderer.rb +++ b/actionview/lib/action_view/renderer/template_renderer.rb @@ -50,6 +50,7 @@ module ActionView view, locals = @view, locals || {} render_with_layout(layout_name, locals) do |layout| + ActiveSupport::Notifications.instrument("start_rendering.action_view", identifier: template.identifier, layout: layout.try(:virtual_path)) instrument(:template, :identifier => template.identifier, :layout => layout.try(:virtual_path)) do template.render(view, locals) { |*name| view._layout_for(*name) } end -- cgit v1.2.3 From b84ca28a21dbf75a4058d4835eb4bf9220de6de7 Mon Sep 17 00:00:00 2001 From: Prem Sichanugrist Date: Fri, 26 Feb 2016 13:23:59 -0500 Subject: Update to use Subscriber#start instead We don't need to instrument another event as `ActiveSupport::LogSubscriber` already tracks when the instrumentation starts. Close #23717 --- actionview/lib/action_view/log_subscriber.rb | 21 +++++++++++++++------ .../lib/action_view/renderer/template_renderer.rb | 1 - 2 files changed, 15 insertions(+), 7 deletions(-) (limited to 'actionview/lib') diff --git a/actionview/lib/action_view/log_subscriber.rb b/actionview/lib/action_view/log_subscriber.rb index 2d59033cb3..5a29c68214 100644 --- a/actionview/lib/action_view/log_subscriber.rb +++ b/actionview/lib/action_view/log_subscriber.rb @@ -30,13 +30,12 @@ module ActionView end end - - def start_rendering(event) - info do - message = "Rendering #{from_rails_root(event.payload[:identifier])}" - message << " within #{from_rails_root(event.payload[:layout])}" if event.payload[:layout] - message + def start(name, id, payload) + if name == "render_template.action_view" + log_rendering_start(payload) end + + super end def logger @@ -63,6 +62,16 @@ module ActionView "[#{payload[:count]} times]" end end + + private + + def log_rendering_start(payload) + info do + message = " Rendering #{from_rails_root(payload[:identifier])}" + message << " within #{from_rails_root(payload[:layout])}" if payload[:layout] + message + end + end end end diff --git a/actionview/lib/action_view/renderer/template_renderer.rb b/actionview/lib/action_view/renderer/template_renderer.rb index fd550d95e1..9d15bbfca7 100644 --- a/actionview/lib/action_view/renderer/template_renderer.rb +++ b/actionview/lib/action_view/renderer/template_renderer.rb @@ -50,7 +50,6 @@ module ActionView view, locals = @view, locals || {} render_with_layout(layout_name, locals) do |layout| - ActiveSupport::Notifications.instrument("start_rendering.action_view", identifier: template.identifier, layout: layout.try(:virtual_path)) instrument(:template, :identifier => template.identifier, :layout => layout.try(:virtual_path)) do template.render(view, locals) { |*name| view._layout_for(*name) } end -- cgit v1.2.3