From 4ecdf24bdedfdd1cca1f079259ff2490e2074067 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 30 Dec 2009 13:07:48 +0100 Subject: Kick AR logging back to life and move ControllerRuntime inside ActiveRecord::Rails. --- .../lib/active_record/rails/controller_runtime.rb | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 activerecord/lib/active_record/rails/controller_runtime.rb (limited to 'activerecord/lib/active_record/rails') diff --git a/activerecord/lib/active_record/rails/controller_runtime.rb b/activerecord/lib/active_record/rails/controller_runtime.rb new file mode 100644 index 0000000000..9ae40c5c8f --- /dev/null +++ b/activerecord/lib/active_record/rails/controller_runtime.rb @@ -0,0 +1,29 @@ +module ActiveRecord + module Rails + module ControllerRuntime + extend ActiveSupport::Concern + + attr_internal :db_runtime + + def cleanup_view_runtime + if ActiveRecord::Base.connected? + db_rt_before_render = ActiveRecord::Base.connection.reset_runtime + runtime = super + db_rt_after_render = ActiveRecord::Base.connection.reset_runtime + self.db_runtime = db_rt_before_render + db_rt_after_render + runtime - db_rt_after_render + else + super + end + end + + module ClassMethods + def log_process_action(controller) + super + db_runtime = controller.send :db_runtime + logger.info(" ActiveRecord runtime: %.1fms" % db_runtime.to_f) if db_runtime + end + end + end + end +end \ No newline at end of file -- cgit v1.2.3