Class: Datadog::DistributedHeaders
Overview
DistributedHeaders provides easy access and validation to headers
Constant Summary
Ext::DistributedTracing::HTTP_HEADER_PARENT_ID, Ext::DistributedTracing::HTTP_HEADER_SAMPLING_PRIORITY, Ext::DistributedTracing::HTTP_HEADER_TRACE_ID, Ext::DistributedTracing::SAMPLING_PRIORITY_KEY
Instance Method Summary
collapse
Constructor Details
Returns a new instance of DistributedHeaders.
9
10
11
|
# File 'lib/ddtrace/propagation/distributed_headers.rb', line 9
def initialize(env)
@env = env
end
|
Instance Method Details
#parent_id ⇒ Object
24
25
26
27
28
|
# File 'lib/ddtrace/propagation/distributed_headers.rb', line 24
def parent_id
value = (HTTP_HEADER_PARENT_ID).to_i
return if value <= 0 || value >= Span::MAX_ID
value
end
|
#sampling_priority ⇒ Object
30
31
32
33
34
35
36
37
38
|
# File 'lib/ddtrace/propagation/distributed_headers.rb', line 30
def sampling_priority
hdr = (HTTP_HEADER_SAMPLING_PRIORITY)
return unless hdr
value = hdr.to_i
return if value < 0
value
end
|
#trace_id ⇒ Object
18
19
20
21
22
|
# File 'lib/ddtrace/propagation/distributed_headers.rb', line 18
def trace_id
value = (HTTP_HEADER_TRACE_ID).to_i
return if value <= 0 || value >= Span::MAX_ID
value
end
|
#valid? ⇒ Boolean
13
14
15
16
|
# File 'lib/ddtrace/propagation/distributed_headers.rb', line 13
def valid?
trace_id && parent_id
end
|