class RequestTracer::Trace::TraceId
A trace is a set of spans that are associated with the same request
Attributes
parent_id[R]
span_id[R]
trace_id[R]
Public Class Methods
create(h)
click to toggle source
# File lib/request_tracer/trace.rb, line 55 def self.create(h) self.new(h["trace_id"], h["parent_span_id"], h["span_id"]) end
new(trace_id, parent_id, span_id)
click to toggle source
# File lib/request_tracer/trace.rb, line 58 def initialize(trace_id, parent_id, span_id) @trace_id = SpanId.from_value(trace_id) @parent_id = parent_id && SpanId.from_value(parent_id) @span_id = SpanId.from_value(span_id) end
spawn_from_hash(h)
click to toggle source
# File lib/request_tracer/trace.rb, line 51 def self.spawn_from_hash(h) span_id = Trace.generate_id self.new(h["trace_id"] || span_id, h["span_id"], Trace.generate_id) end
Public Instance Methods
[](key)
click to toggle source
# File lib/request_tracer/trace.rb, line 75 def [](key) to_h[key] end
next_id()
click to toggle source
# File lib/request_tracer/trace.rb, line 64 def next_id TraceId.new(@trace_id, @span_id, Trace.generate_id) end
to_h()
click to toggle source
# File lib/request_tracer/trace.rb, line 72 def to_h {"trace_id" => @trace_id.to_s, "parent_span_id" => (@parent_id || "").to_s, "span_id" => @span_id.to_s} end
to_json()
click to toggle source
# File lib/request_tracer/trace.rb, line 78 def to_json to_h.to_json end
to_s()
click to toggle source
# File lib/request_tracer/trace.rb, line 68 def to_s "TraceId(trace_id = #{@trace_id.to_s}, parent_id = #{@parent_id.to_s}, span_id = #{@span_id.to_s}" end