Sha256: 4f0d66005587c5e0f67551d81db87645d7f746a75eef43c23d94ddd6419efba3

Contents?: true

Size: 857 Bytes

Versions: 2

Compression:

Stored size: 857 Bytes

Contents

module Jaeger
  module Client
    # SpanContext holds the data for a span that gets inherited to child spans
    class SpanContext
      def self.create_parent_context
        trace_id = TraceId.generate
        span_id = TraceId.generate
        new(trace_id: trace_id, span_id: span_id)
      end

      def self.create_from_parent_context(span_context)
        trace_id = span_context.trace_id
        parent_id = span_context.span_id
        span_id = TraceId.generate
        new(span_id: span_id, parent_id: parent_id, trace_id: trace_id)
      end

      attr_reader :span_id, :parent_id, :trace_id, :baggage, :flags

      def initialize(span_id:, parent_id: nil, trace_id:, baggage: {})
        @span_id = span_id
        @parent_id = parent_id
        @trace_id = trace_id
        @baggage = baggage
        @flags = 0
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jaeger-client-0.2.0 lib/jaeger/client/span_context.rb
jaeger-client-0.1.0 lib/jaeger/client/span_context.rb