Module: ActiveRecord::Railties::JobRuntime

Defined in:
lib/active_record/railties/job_runtime.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#instrument(operation, payload = {}, &block) ⇒ Object

:nodoc:



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/active_record/railties/job_runtime.rb', line 8

def instrument(operation, payload = {}, &block) # :nodoc:
  if operation == :perform && block
    super(operation, payload) do
      db_runtime_before_perform = ActiveRecord::RuntimeRegistry.stats.sql_runtime
      result = block.call
      payload[:db_runtime] = ActiveRecord::RuntimeRegistry.stats.sql_runtime - db_runtime_before_perform
      result
    end
  else
    super
  end
end