class Datadog::GRPCPropagator::Carrier
opentracing.io compliant carrier object
Public Class Methods
new(metadata = {})
click to toggle source
# File lib/ddtrace/propagation/grpc_propagator.rb, line 34 def initialize(metadata = {}) @metadata = metadata || {} end
Public Instance Methods
origin()
click to toggle source
# File lib/ddtrace/propagation/grpc_propagator.rb, line 57 def origin value = metadata_for_key(GRPC_METADATA_ORIGIN) value if value != '' end
parent_id()
click to toggle source
# File lib/ddtrace/propagation/grpc_propagator.rb, line 47 def parent_id value = metadata_for_key(GRPC_METADATA_PARENT_ID).to_i value if (1..Span::EXTERNAL_MAX_ID).cover? value end
sampling_priority()
click to toggle source
# File lib/ddtrace/propagation/grpc_propagator.rb, line 52 def sampling_priority value = metadata_for_key(GRPC_METADATA_SAMPLING_PRIORITY) value && value.to_i end
trace_id()
click to toggle source
# File lib/ddtrace/propagation/grpc_propagator.rb, line 42 def trace_id value = metadata_for_key(GRPC_METADATA_TRACE_ID).to_i value if (1..Span::EXTERNAL_MAX_ID).cover? value end
valid?()
click to toggle source
# File lib/ddtrace/propagation/grpc_propagator.rb, line 38 def valid? trace_id && parent_id end
Private Instance Methods
metadata_for_key(key)
click to toggle source
# File lib/ddtrace/propagation/grpc_propagator.rb, line 64 def metadata_for_key(key) # metadata values can be arrays (multiple headers with the same key) value = @metadata[key] if value.is_a?(Array) value.first else value end end