Help us shape the future of Go! Take the 2026 Go Developer Survey

trace

package
v0.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 2, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TraceparentHeader = "traceparent"
	TracestateHeader  = "tracestate"
)

W3C Trace Context header names

Variables

This section is empty.

Functions

func ContextWithTraceContext

func ContextWithTraceContext(ctx context.Context, tc *TraceContext) context.Context

ContextWithTraceContext returns a new context with the TraceContext attached.

Types

type TraceContext

type TraceContext struct {
	// TraceID is the 32-character hex-encoded trace identifier
	TraceID string
	// SpanID is the 16-character hex-encoded span/parent identifier
	SpanID string
	// TraceFlags is the trace flags byte (e.g., 0x01 for sampled)
	TraceFlags byte
	// TraceState is the optional vendor-specific trace state
	TraceState string
}

TraceContext holds W3C Trace Context fields. See: https://www.w3.org/TR/trace-context/

func FromContext

func FromContext(ctx context.Context) *TraceContext

FromContext extracts TraceContext from context. Returns nil if no TraceContext is found.

func FromHTTPHeaders

func FromHTTPHeaders(headers http.Header) *TraceContext

FromHTTPHeaders extracts W3C Trace Context from HTTP headers. Returns nil if no valid traceparent header is found.

func FromHTTPHeadersOrNew

func FromHTTPHeadersOrNew(headers http.Header) (*TraceContext, error)

FromHTTPHeadersOrNew extracts W3C Trace Context from HTTP headers, or generates a new one if not found.

func NewTraceContext

func NewTraceContext() (*TraceContext, error)

NewTraceContext generates a new TraceContext with random trace ID and span ID.

func ParseTraceparent

func ParseTraceparent(header string) (*TraceContext, bool)

ParseTraceparent parses a W3C traceparent header value. Format: {version}-{trace-id}-{parent-id}-{trace-flags} Example: 00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01

func (*TraceContext) IsSampled

func (tc *TraceContext) IsSampled() bool

IsSampled returns true if the sampled flag is set.

func (*TraceContext) SetHTTPHeaders

func (tc *TraceContext) SetHTTPHeaders(headers http.Header)

SetHTTPHeaders sets W3C Trace Context headers on an HTTP request.

func (*TraceContext) ToTraceparent

func (tc *TraceContext) ToTraceparent() string

ToTraceparent formats the TraceContext as a W3C traceparent header value.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL