diff options
author | José Valim <jose.valim@gmail.com> | 2009-12-27 13:32:40 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2009-12-27 13:32:40 +0100 |
commit | 97db79ab3c0af7b6805dcaee99384d96ccb3567d (patch) | |
tree | dcb8856f92f3167780134f5f7b7c1a720bbc8e20 /activerecord/lib/active_record/controller_runtime.rb | |
parent | 7e8b7f46bfc086a36db996420fbee93348c5268e (diff) | |
download | rails-97db79ab3c0af7b6805dcaee99384d96ccb3567d.tar.gz rails-97db79ab3c0af7b6805dcaee99384d96ccb3567d.tar.bz2 rails-97db79ab3c0af7b6805dcaee99384d96ccb3567d.zip |
Remove ActiveRecord runtime logging from ActionPack and place in ActiveRecord, adding it through config.action_controller.include hook.
Diffstat (limited to 'activerecord/lib/active_record/controller_runtime.rb')
-rw-r--r-- | activerecord/lib/active_record/controller_runtime.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/controller_runtime.rb b/activerecord/lib/active_record/controller_runtime.rb new file mode 100644 index 0000000000..1281901ae8 --- /dev/null +++ b/activerecord/lib/active_record/controller_runtime.rb @@ -0,0 +1,27 @@ +module ActiveRecord + module ControllerRuntime + extend ActiveSupport::Concern + + attr_internal :db_runtime + + def cleanup_view_runtime + if Object.const_defined?("ActiveRecord") && 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 process_log_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
\ No newline at end of file |