Module: MicroscopeTracer::Headers
- Defined in:
- lib/microscope_tracer/headers.rb
Class Method Summary collapse
- .add_client_request_headers(headers, span, child_span_id) ⇒ Object
- .sanity_checks(trace_id_provided, span_id_provided, parent_span_id_provided) ⇒ Object
- .span_from_server_request_headers(env) ⇒ Object
Class Method Details
.add_client_request_headers(headers, span, child_span_id) ⇒ Object
5 6 7 8 9 |
# File 'lib/microscope_tracer/headers.rb', line 5 def self.add_client_request_headers(headers,span,child_span_id) headers["Microscope-Trace-Id"] = span.trace_id if span.trace_id headers["Microscope-Parent-Span-Id"] = span.span_id if span.span_id headers["Microscope-Span-Id"] = child_span_id if child_span_id end |
.sanity_checks(trace_id_provided, span_id_provided, parent_span_id_provided) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/microscope_tracer/headers.rb', line 25 def self.sanity_checks(trace_id_provided, span_id_provided, parent_span_id_provided) if !trace_id_provided && span_id_provided puts "WARNING: no TraceId provided but a SpanId *was* provided" end if !trace_id_provided && parent_span_id_provided puts "WARNING: no TraceId provided but a ParentSpanId *was* provided" end end |
.span_from_server_request_headers(env) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/microscope_tracer/headers.rb', line 11 def self.span_from_server_request_headers(env) trace_id = env.fetch("HTTP_MICROSCOPE_TRACE_ID",false) parent_span_id = env.fetch("HTTP_MICROSCOPE_PARENT_SPAN_ID",false) span_id = env.fetch("HTTP_MICROSCOPE_SPAN_ID",false) sanity_checks(!!trace_id,!!span_id,!!parent_span_id) if trace_id && !parent_span_id return false end Span.new(trace_id,parent_span_id,span_id) end |