TraceBehavior
Defined in: trace.behavior.ts:153
Pipeline behavior that wraps a handler in an OpenTelemetry span.
With no OpenTelemetry SDK registered, trace.getTracer() returns a no-op
tracer and spans are discarded; enabled: false skips tracing for a handler.
Each span includes stable pipeline semantic attributes such as request kind,
request name, handler name, correlation ID and start time. The final outcome
(success/failure) and error type are added after execution.
Examples
Section titled “Examples”Global tracing
createPipeline({ globalBehaviors: { scope: 'all', before: [TraceBehavior] },});Per-handler enrichment
class GetInvoiceHandler { @pipeline.wrap({ kind: 'query' }, [TraceBehavior, { spanName: 'billing.get-invoice', attributeFactory: (ctx) => ({ 'billing.tenant_id': ctx.tenantId ?? 'unknown', }), }]) async handle(query: GetInvoiceQuery) {}}Implements
Section titled “Implements”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new TraceBehavior():
TraceBehavior
Returns
Section titled “Returns”TraceBehavior
Methods
Section titled “Methods”handle()
Section titled “handle()”handle(
context,next):Promise<unknown>
Defined in: trace.behavior.ts:154
Parameters
Section titled “Parameters”context
Section titled “context”Returns
Section titled “Returns”Promise<unknown>