Module: NewRelic::Agent::Instrumentation::ConcurrentRuby

Included in:
Prepend
Defined in:
lib/new_relic/agent/instrumentation/concurrent_ruby/prepend.rb,
lib/new_relic/agent/instrumentation/concurrent_ruby/instrumentation.rb

Defined Under Namespace

Modules: Chain, ErrorPrepend, Prepend

Constant Summary collapse

SEGMENT_NAME =
'Concurrent/Task'
INSTRUMENTATION_NAME =
NewRelic::Agent.base_name(name)

Instance Method Summary collapse

Instance Method Details

#add_task_tracing(&task) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/new_relic/agent/instrumentation/concurrent_ruby/instrumentation.rb', line 10

def add_task_tracing(&task)
  NewRelic::Agent.record_instrumentation_invocation(INSTRUMENTATION_NAME)

  NewRelic::Agent::Tracer.thread_block_with_current_transaction(
    segment_name: SEGMENT_NAME,
    parent: NewRelic::Agent::Tracer.current_segment,
    &task
  )
end