class Atatus::TraceContext::Tracestate::EsEntry
Constants
- ASSIGN
- LONG_TO_SHORT
- SHORT_TO_LONG
- SPLIT
Attributes
sample_rate[R]
Public Class Methods
new(values = nil)
click to toggle source
# File lib/atatus/trace_context/tracestate.rb, line 45 def initialize(values = nil) parse(values) end
Public Instance Methods
empty?()
click to toggle source
# File lib/atatus/trace_context/tracestate.rb, line 61 def empty? !sample_rate end
key()
click to toggle source
# File lib/atatus/trace_context/tracestate.rb, line 51 def key 'es' end
sample_rate=(val)
click to toggle source
# File lib/atatus/trace_context/tracestate.rb, line 65 def sample_rate=(val) float = Float(val).round(3) return nil unless (0.0..1.0).include?(float) @sample_rate = float rescue ArgumentError => e nil end
to_s()
click to toggle source
# File lib/atatus/trace_context/tracestate.rb, line 75 def to_s return nil if empty? "es=#{value}" end
value()
click to toggle source
# File lib/atatus/trace_context/tracestate.rb, line 55 def value LONG_TO_SHORT.map do |l, s| "#{s}#{ASSIGN}#{send(l)}" end.join(SPLIT) end
Private Instance Methods
parse(values)
click to toggle source
# File lib/atatus/trace_context/tracestate.rb, line 83 def parse(values) return unless values values.split(SPLIT).map do |kv| k, v = kv.split(ASSIGN) next unless SHORT_TO_LONG.keys.include?(k) send("#{SHORT_TO_LONG[k]}=", v) end end