Skip to content

HttpTraceContext

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.

6 exports Added in v4.0.0 Source

Decoding

b3

Added in v4.0.0 Source

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;

fromHeaders

Added in v4.0.0 Source

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 function fromHeaders(headers: Headers): Option<ExternalSpan>;

w3c

Added in v4.0.0 Source

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;

xb3

Added in v4.0.0 Source

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;

Encoding

toHeaders

Added in v4.0.0 Source

Encodes a span into HTTP trace propagation headers.

Details

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

Signature

declare function toHeaders(span: Span): Headers;

Models

FromHeaders interface

Added in v4.0.0 Source

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

interface FromHeaders {
  (headers: Headers): Option<ExternalSpan>;
}