diff options
Diffstat (limited to 'activerecord/lib/active_record/log_subscriber.rb')
-rw-r--r-- | activerecord/lib/active_record/log_subscriber.rb | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/log_subscriber.rb b/activerecord/lib/active_record/log_subscriber.rb index d7b99d796d..74b5893bfb 100644 --- a/activerecord/lib/active_record/log_subscriber.rb +++ b/activerecord/lib/active_record/log_subscriber.rb @@ -1,12 +1,25 @@ module ActiveRecord class LogSubscriber < ActiveSupport::LogSubscriber + def self.runtime=(value) + Thread.current["active_record_sql_runtime"] = value + end + + def self.runtime + Thread.current["active_record_sql_runtime"] + end + + def self.reset_runtime + rt, self.runtime = runtime, 0 + rt + end + def initialize super @odd_or_even = false end def sql(event) - connection.runtime += event.duration + self.class.runtime += event.duration return unless logger.debug? name = '%s (%.1fms)' % [event.payload[:name], event.duration] @@ -26,14 +39,11 @@ module ActiveRecord @odd_or_even = !@odd_or_even end - def connection - ActiveRecord::Base.connection - end - def logger ActiveRecord::Base.logger end end end -ActiveRecord::LogSubscriber.attach_to :active_record +ActiveRecord::LogSubscriber.runtime = 0 +ActiveRecord::LogSubscriber.attach_to :active_record
\ No newline at end of file |