Skip to content

Class: Tracer

Prefactor TypeScript SDK


Prefactor TypeScript SDK / @prefactor/core / Tracer

Defined in: packages/core/src/tracing/tracer.ts:66

Tracer manages the lifecycle of spans.

The tracer is responsible for:

  • Creating spans with unique IDs
  • Managing span lifecycle (start/end)
  • Delegating to the transport layer for span emission
  • Handling agent instance lifecycle
const tracer = new Tracer(transport);
const span = tracer.startSpan({
name: 'llm-call',
spanType: SpanType.LLM,
inputs: { prompt: 'Hello' }
});
try {
// ... do work ...
tracer.endSpan(span, { outputs: { response: 'Hi!' } });
} catch (error) {
tracer.endSpan(span, { error });
}

new Tracer(transport, partition?): Tracer

Defined in: packages/core/src/tracing/tracer.ts:75

Initialize the tracer.

Transport

The transport to use for emitting spans

number

The partition for ID generation. If not provided, a random partition will be generated.

Tracer

startSpan(options): Span

Defined in: packages/core/src/tracing/tracer.ts:88

Start a new span

StartSpanOptions

Span configuration options

Span

The created span


endSpan(span, options?): void

Defined in: packages/core/src/tracing/tracer.ts:128

End a span and emit it to the transport

Span

The span to end

EndSpanOptions

End span options (outputs, error, token usage)

void


close(): Promise<void>

Defined in: packages/core/src/tracing/tracer.ts:168

Close the tracer and flush any pending spans

Promise<void>

Promise that resolves when the tracer is closed


startAgentInstance(): void

Defined in: packages/core/src/tracing/tracer.ts:172

void


finishAgentInstance(): void

Defined in: packages/core/src/tracing/tracer.ts:180

void