Documentation
¶
Overview ¶
Package trace provides trace utilities.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetTraceID ¶
GetTraceID returns the hex-encoded 16-byte trace id if present.
Types ¶
type Middleware ¶
type Middleware struct {
// contains filtered or unexported fields
}
Middleware attaches trace/span IDs to request context and sets response header.
func New ¶
func New(opts Options) (*Middleware, error)
New constructs a Middleware with sane defaults.
func (*Middleware) Middleware ¶
func (m *Middleware) Middleware() func(http.Handler) http.Handler
Middleware implements ports.Middleware by producing the handler adapter.
type Options ¶
type Options struct {
// TrustIncoming strictly validates client-provided traceparent and uses it
// if valid. When false, the middleware always generates a fresh trace ID.
TrustIncoming bool
// SampledFlag defaults to 00 (not sampled). Set to 01 to enable sampling bit.
SampledFlag byte
// TraceIDGen overrides the trace id generator.
TraceIDGen ports.IDGen
// SpanIDGen overrides the span id generator.
SpanIDGen ports.IDGen
}
Options controls middleware behaviour.
Click to show internal directories.
Click to hide internal directories.