Sha256: a3da7aaf73110fd613f7291e4e34fc2b923e9857862f07fdce17c07c6d3c5d02

Contents?: true

Size: 1001 Bytes

Versions: 1

Compression:

Stored size: 1001 Bytes

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
# frozen_string_literal: true

module NewRelic::Agent::Instrumentation
  module Resque
    include NewRelic::Agent::Instrumentation::ControllerInstrumentation
    
    def with_tracing
      begin
        perform_action_with_newrelic_trace(
          :name => 'perform',
          :class_name => self.payload_class,
          :category => 'OtherTransaction/ResqueJob') do

          NewRelic::Agent::Transaction.merge_untrusted_agent_attributes(
            args,
            :'job.resque.args',
            NewRelic::Agent::AttributeFilter::DST_NONE)

          yield
        end
      ensure
        # Stopping the event loop before flushing the pipe.
        # The goal is to avoid conflict during write.
        NewRelic::Agent.agent.stop_event_loop
        NewRelic::Agent.agent.flush_pipe_data
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
newrelic_rpm-7.0.0 lib/new_relic/agent/instrumentation/resque/instrumentation.rb