6 #include "detail/hex.h"
7 #include "detail/string.h"
8 #include "opentelemetry/context/propagation/text_map_propagator.h"
9 #include "opentelemetry/trace/context.h"
10 #include "opentelemetry/trace/default_span.h"
32 const size_t trace_id_length = 32;
33 const size_t span_id_length = 16;
36 char trace_identity[trace_id_length + span_id_length + 6];
39 trace_identity[trace_id_length] =
':';
42 trace_identity[trace_id_length + span_id_length + 1] =
':';
43 trace_identity[trace_id_length + span_id_length + 2] =
'0';
44 trace_identity[trace_id_length + span_id_length + 3] =
':';
45 trace_identity[trace_id_length + span_id_length + 4] =
'0';
46 trace_identity[trace_id_length + span_id_length + 5] = span_context.
IsSampled() ?
'1' :
'0';
72 static constexpr uint8_t kIsSampled = 0x01;
74 static TraceFlags GetTraceFlags(uint8_t jaeger_flags)
76 uint8_t sampled = jaeger_flags & kIsSampled;
84 const size_t trace_field_count = 4;
103 uint8_t trace_id[16];
121 return SpanContext(TraceId(trace_id), SpanId(span_id), GetTraceFlags(flags),
true);