B3 headers that OpenCensus understands.
const ( TraceIDHeader = "X-B3-TraceId" SpanIDHeader = "X-B3-SpanId" SampledHeader = "X-B3-Sampled" )
func ParseSampled(sampled string) (trace.TraceOptions, bool)
ParseSampled parses the value of the X-B3-Sampled header.
func ParseSpanID(sid string) (spanID trace.SpanID, ok bool)
ParseSpanID parses the value of the X-B3-SpanId or X-B3-ParentSpanId headers.
func ParseTraceID(tid string) (trace.TraceID, bool)
ParseTraceID parses the value of the X-B3-TraceId header.
HTTPFormat implements propagation.HTTPFormat to propagate traces in HTTP headers in B3 propagation format. HTTPFormat skips the X-B3-ParentId and X-B3-Flags headers because there are additional fields not represented in the OpenCensus span context. Spans created from the incoming header will be the direct children of the client-side span. Similarly, receiver of the outgoing spans should use client-side span created by OpenCensus as the parent.
type HTTPFormat struct{}
func (f *HTTPFormat) SpanContextFromRequest(req *http.Request) (sc trace.SpanContext, ok bool)
SpanContextFromRequest extracts a B3 span context from incoming requests.
func (f *HTTPFormat) SpanContextToRequest(sc trace.SpanContext, req *http.Request)
SpanContextToRequest modifies the given request to include B3 headers.