go.opencensus.iogo.opencensus.io/plugin/ochttp/propagation/b3 Index | Files

package b3

import "go.opencensus.io/plugin/ochttp/propagation/b3"

Package b3 contains a propagation.HTTPFormat implementation for B3 propagation. See https://github.com/openzipkin/b3-propagation for more details.

Index

Constants

const (
	TraceIDHeader = "X-B3-TraceId"
	SpanIDHeader  = "X-B3-SpanId"
	SampledHeader = "X-B3-Sampled"
)

B3 headers that OpenCensus understands.

Functions

func ParseSampled

func ParseSampled(sampled string) (trace.TraceOptions, bool)

ParseSampled parses the value of the X-B3-Sampled header.

func ParseSpanID

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

func ParseTraceID(tid string) (trace.TraceID, bool)

ParseTraceID parses the value of the X-B3-TraceId header.

Types

type HTTPFormat

type HTTPFormat struct{}

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.

func (*HTTPFormat) SpanContextFromRequest

func (f *HTTPFormat) SpanContextFromRequest(req *http.Request) (sc trace.SpanContext, ok bool)

SpanContextFromRequest extracts a B3 span context from incoming requests.

func (*HTTPFormat) SpanContextToRequest

func (f *HTTPFormat) SpanContextToRequest(sc trace.SpanContext, req *http.Request)

SpanContextToRequest modifies the given request to include B3 headers.

Source Files

b3.go

Version
v0.24.0 (latest)
Published
Nov 3, 2022
Platform
linux/amd64
Imports
4 packages
Last checked
5 hours ago

Tools for package owners.