# File lib/new_relic/agent/instrumentation/active_job.rb, line 35 def self.perform(job, block) state = ::NewRelic::Agent::TransactionState.tl_get # Don't nest transactions if we're already in a web transaction. # Probably inline processing the job if that happens, so just trace. if state.in_web_transaction? run_in_trace(job, block, :Consume) elsif state.in_background_transaction? ::NewRelic::Agent::Transaction.set_default_transaction_name( transaction_name_suffix_for_job(job), transaction_category) block.call else run_in_transaction(state, job, block) end end