class ElasticAPM::TraceContext::Tracestate::EsEntry
@api private
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/elastic_apm/trace_context/tracestate.rb, line 48 def initialize(values = nil) parse(values) end
Public Instance Methods
empty?()
click to toggle source
# File lib/elastic_apm/trace_context/tracestate.rb, line 64 def empty? !sample_rate end
key()
click to toggle source
# File lib/elastic_apm/trace_context/tracestate.rb, line 54 def key 'es' end
sample_rate=(val)
click to toggle source
# File lib/elastic_apm/trace_context/tracestate.rb, line 68 def sample_rate=(val) @sample_rate = Util::PrecisionValidator.validate( val, precision: 4, minimum: 0.0001 ) end
to_s()
click to toggle source
# File lib/elastic_apm/trace_context/tracestate.rb, line 74 def to_s return nil if empty? "es=#{value}" end
value()
click to toggle source
# File lib/elastic_apm/trace_context/tracestate.rb, line 58 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/elastic_apm/trace_context/tracestate.rb, line 82 def parse(values) return unless values values.split(SPLIT).map do |kv| k, v = kv.split(ASSIGN) next unless SHORT_TO_LONG.key?(k) send("#{SHORT_TO_LONG[k]}=", v) end end