Method: NewRelic::Agent::DistributedTracePayload.from_json

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

.from_json(serialized_payload) ⇒ Object

[View source]

58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb', line 58

def from_json(serialized_payload)
  raw_payload = JSON.parse(serialized_payload)
  return raw_payload if raw_payload.nil?

  payload_data = raw_payload[DATA_KEY]

  payload = new
  payload.version = raw_payload[VERSION_KEY]
  payload.parent_type = payload_data[PARENT_TYPE_KEY]
  payload. = payload_data[PARENT_ACCOUNT_ID_KEY]
  payload.parent_app_id = payload_data[PARENT_APP_KEY]
  payload. = payload_data[TRUSTED_ACCOUNT_KEY]
  payload.timestamp = payload_data[TIMESTAMP_KEY]
  payload.id = payload_data[ID_KEY]
  payload.transaction_id = payload_data[TX_KEY]
  payload.trace_id = payload_data[TRACE_ID_KEY]
  payload.sampled = payload_data[SAMPLED_KEY]
  payload.priority = payload_data[PRIORITY_KEY]

  payload
end