Module: NewRelic::Agent::Instrumentation::Ethon::Multi

Includes:
NRShared
Included in:
Prepend
Defined in:
lib/new_relic/agent/instrumentation/ethon/prepend.rb,
lib/new_relic/agent/instrumentation/ethon/instrumentation.rb

Defined Under Namespace

Modules: Prepend

Constant Summary collapse

MULTI_SEGMENT_NAME =
'External/Multiple/Ethon::Multi/perform'

Constants included from NRShared

NRShared::INSTRUMENTATION_NAME, NRShared::NOTICEABLE_ERROR_CLASS

Instance Method Summary collapse

Methods included from NRShared

#prep_easy, #wrap_with_tracing

Instance Method Details

#perform_with_tracing(*args) ⇒ Object



92
93
94
95
96
97
98
99
100
101
102
# File 'lib/new_relic/agent/instrumentation/ethon/instrumentation.rb', line 92

def perform_with_tracing(*args)
  return unless NewRelic::Agent::Tracer.state.is_execution_traced?

  segment = NewRelic::Agent::Tracer.start_segment(name: MULTI_SEGMENT_NAME)

  wrap_with_tracing(segment) do
    easy_handles.each { |easy| prep_easy(easy, segment) }

    yield
  end
end