Μετάβαση στο περιεχόμενο

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.

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) {}
}

new TraceBehavior(): TraceBehavior

TraceBehavior

handle(context, next): Promise<unknown>

Defined in: trace.behavior.ts:154

IPipelineContext

NextDelegate

Promise<unknown>

IPipelineBehavior.handle