class NewRelic::Agent::Instrumentation::Praxis::Mapper::FinalizeSubscriber

Public Instance Methods

finish(name, id, payload) click to toggle source
# File lib/newrelic-praxis/praxis_mapper/finalize_subscriber.rb, line 23
def finish(name, id, payload) #THREAD_LOCAL_ACCESS
  event = pop_event(id)
  event.payload.merge!(payload)

  state = TransactionState.tl_get

  if state.is_execution_traced?
    stack = state.traced_method_stack
    stack.pop_frame(state, event.frame, 'Custom/PraxisMapper/Finalize', event.end)
  end
rescue => e
  log_notification_error(e, name, 'finish')
end
start(name, id, payload) click to toggle source
# File lib/newrelic-praxis/praxis_mapper/finalize_subscriber.rb, line 9
def start(name, id, payload) #THREAD_LOCAL_ACCESS
  event = Event.new(name, Time.now, nil, id, payload)
  push_event(event)

  state = TransactionState.tl_get

  if state.is_execution_traced?
    stack = state.traced_method_stack
    event.frame = stack.push_frame(state, :praxis_mapper, event.time)
  end
rescue => e
  log_notification_error(e, name, 'start')
end