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/trace_context_payload.rb', line 37
def from_s(payload_string)
attrs = payload_string.split(DELIMITER)
payload = create( \
version: int!(attrs[0]),
parent_type: int!(attrs[1]),
parent_account_id: attrs[2],
parent_app_id: attrs[3],
id: value_or_nil(attrs[4]),
transaction_id: value_or_nil(attrs[5]),
sampled: value_or_nil(attrs[6]) ? boolean_int!(attrs[6]) == 1 : nil,
priority: float!(attrs[7]),
timestamp: int!(attrs[8])
)
handle_invalid_payload(message: 'payload missing attributes') unless payload.valid?
payload
rescue => e
handle_invalid_payload(error: e)
raise
end
|