Skip to content

HttpTraceContext.ts

HTTP propagation helpers for Effect tracing context.

This module converts Effect Tracer.Span values into outbound trace headers and decodes inbound propagation headers into Tracer.ExternalSpan parents. HTTP clients use it to continue the current span across outgoing requests, and server middleware uses it to parent request spans from upstream services.

Since v4.0.0



Decodes an external span safely from the compact B3 b3 header.

Details

Returns Option.none when the header is missing or does not contain trace and span identifiers.

Signature

declare const b3: FromHeaders

Source

Since v4.0.0

Decodes an external span safely from HTTP trace propagation headers.

Details

W3C traceparent is tried first, followed by compact B3 (b3) and then multi-header B3 (x-b3-*).

Signature

declare const fromHeaders: (headers: Headers.Headers) => Option.Option<Tracer.ExternalSpan>

Source

Since v4.0.0

Decodes an external span safely from the W3C traceparent header.

Details

Only version 00 headers with valid trace and span identifiers are accepted.

Signature

declare const w3c: FromHeaders

Source

Since v4.0.0

Decodes an external span safely from multi-header B3 propagation headers.

Details

The decoder reads x-b3-traceid, x-b3-spanid, and optional x-b3-sampled headers.

Signature

declare const xb3: FromHeaders

Source

Since v4.0.0

Encodes a span into HTTP trace propagation headers.

Details

The generated headers include both compact B3 (b3) and W3C traceparent formats.

Signature

declare const toHeaders: (span: Tracer.Span) => Headers.Headers

Source

Since v4.0.0

Function type for decoding tracing headers into an external span.

Details

Returns Option.none when the headers do not contain a supported or valid trace context.

Signature

export interface FromHeaders {
(headers: Headers.Headers): Option.Option<Tracer.ExternalSpan>
}

Source

Since v4.0.0