Method: NewRelic::Agent::DistributedTracePayload.for_transaction

Defined in:
lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb

.for_transaction(transaction) ⇒ Object


37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb', line 37

def for_transaction(transaction)
  return nil unless Agent.instance.connected?

  payload = new
  payload.version = VERSION
  payload.parent_type = PARENT_TYPE
  payload. = Agent.config[:account_id]
  payload.parent_app_id = Agent.config[:primary_application_id]

  (payload, payload.)

  payload.id = current_segment_id(transaction)
  payload.transaction_id = transaction.guid
  payload.timestamp = Process.clock_gettime(Process::CLOCK_REALTIME, :millisecond)
  payload.trace_id = transaction.trace_id
  payload.sampled = transaction.sampled?
  payload.priority = transaction.priority

  payload
end