[−][src]Module rustracing_jaeger::span
Span.
How to inject/extract a span
You can inject/extract the context of a span by using SpanContext::inject_to_xxx
and
SpanContext::extract_from_xxx
methods respectively.
The simplest way is to use HashMap
as the carrier as follows:
use std::collections::HashMap; use rustracing_jaeger::span::SpanContext; // Extraction let mut carrier = HashMap::new(); carrier.insert( "uber-trace-id".to_string(), // NOTE: The key must be lower-case "6309ab92c95468edea0dc1a9772ae2dc:409423a204bc17a8:0:1".to_string(), ); let context = SpanContext::extract_from_text_map(&carrier)?.unwrap(); let trace_id = context.state().trace_id(); assert_eq!(trace_id.to_string(), "6309ab92c95468edea0dc1a9772ae2dc"); // Injection let mut injected_carrier = HashMap::new(); context.inject_to_text_map(&mut injected_carrier)?; assert_eq!(injected_carrier, carrier);
References
Structs
SpanContextState | Jager specific span context state. |
SpanContextStateBuilder |
|
TraceId | Unique 128bit identifier of a trace. |
Type Definitions
CandidateSpan | Candidate span for tracing. |
FinishedSpan | Finished span. |
Span | Span. |
SpanContext | Span context. |
SpanHandle | Span handle. |
SpanReceiver | Span receiver. |
SpanReference | Span reference. |
StartSpanOptions | Options for starting a span. |