class NewRelic::Agent::CrossAppPayload
Attributes
id[R]
referring_guid[R]
referring_path_hash[R]
referring_trip_id[R]
transaction[R]
Public Class Methods
new(id, transaction, transaction_info)
click to toggle source
# File lib/new_relic/agent/distributed_tracing/cross_app_payload.rb, line 10 def initialize(id, transaction, transaction_info) @id = id @transaction = transaction transaction_info ||= [] @referring_guid = transaction_info[0] # unused_flag = transaction_info[1] @referring_trip_id = string_or_false_for(transaction_info[2]) @referring_path_hash = string_or_false_for(transaction_info[3]) end
Public Instance Methods
as_json_array(content_length)
click to toggle source
# File lib/new_relic/agent/distributed_tracing/cross_app_payload.rb, line 21 def as_json_array(content_length) queue_time_in_seconds = [transaction.queue_time, 0.0].max start_time_in_seconds = [transaction.start_time, 0.0].max app_time_in_seconds = Process.clock_gettime(Process::CLOCK_REALTIME) - start_time_in_seconds [ NewRelic::Agent.config[:cross_process_id], transaction.best_name, queue_time_in_seconds, app_time_in_seconds, content_length, transaction.guid, false ] end
Private Instance Methods
string_or_false_for(value)
click to toggle source
# File lib/new_relic/agent/distributed_tracing/cross_app_payload.rb, line 39 def string_or_false_for(value) value.is_a?(String) && value end