Class: ZipkinTracer::TraceGenerator
- Inherits:
-
Object
- Object
- ZipkinTracer::TraceGenerator
- Defined in:
- lib/zipkin-tracer/trace_generator.rb
Overview
This class generates trace ids.
Instance Method Summary collapse
- #current ⇒ Object
- #generate_id ⇒ Object
- #generate_id_from_span_id(span_id) ⇒ Object
- #generate_trace_id ⇒ Object
-
#next_trace_id ⇒ Object
Next id, based on the current information in the container.
- #should_sample? ⇒ Boolean
Instance Method Details
#current ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/zipkin-tracer/trace_generator.rb', line 13 def current if TraceContainer.tracing_information_set? TraceContainer.current else generate_trace_id end end |
#generate_id ⇒ Object
34 35 36 |
# File 'lib/zipkin-tracer/trace_generator.rb', line 34 def generate_id rand(TRACE_ID_UPPER_BOUND) end |
#generate_id_from_span_id(span_id) ⇒ Object
30 31 32 |
# File 'lib/zipkin-tracer/trace_generator.rb', line 30 def generate_id_from_span_id(span_id) Trace.trace_id_128bit ? generate_id_128bit(span_id) : span_id end |
#generate_trace_id ⇒ Object
21 22 23 24 |
# File 'lib/zipkin-tracer/trace_generator.rb', line 21 def generate_trace_id span_id = generate_id Trace::TraceId.new(generate_id_from_span_id(span_id), nil, span_id, should_sample?.to_s, Trace::Flags::EMPTY) end |
#next_trace_id ⇒ Object
Next id, based on the current information in the container
5 6 7 8 9 10 11 |
# File 'lib/zipkin-tracer/trace_generator.rb', line 5 def next_trace_id if TraceContainer.tracing_information_set? TraceContainer.current.next_id else generate_trace_id end end |
#should_sample? ⇒ Boolean
26 27 28 |
# File 'lib/zipkin-tracer/trace_generator.rb', line 26 def should_sample? rand < (Trace.sample_rate || DEFAULT_SAMPLE_RATE) end |