Skip to main content

Interface: ITracer

Defined in: packages/agentos/src/core/observability/ITracer.ts:243

Interface for the distributed tracer.

Example

const tracer = new Tracer();

const span = tracer.startSpan('process-request', {
kind: 'server',
attributes: { 'gmi.id': 'gmi-123' },
});

try {
// Process request
span.addEvent('processing-started');
const result = await processRequest();
span.setAttribute('result.count', result.length);
span.setStatus('ok');
} catch (error) {
span.recordException(error);
span.setStatus('error', error.message);
} finally {
span.end();
}

Properties

name

readonly name: string

Defined in: packages/agentos/src/core/observability/ITracer.ts:247

Gets the tracer name.

Methods

addExporter()

addExporter(exporter): void

Defined in: packages/agentos/src/core/observability/ITracer.ts:302

Adds a span exporter.

Parameters

exporter

ISpanExporter

Exporter to add

Returns

void


extract()

extract(carrier): TraceContext | undefined

Defined in: packages/agentos/src/core/observability/ITracer.ts:283

Extracts trace context from a carrier.

Parameters

carrier

Record<string, string>

Object to extract from

Returns

TraceContext | undefined

Extracted context or undefined


flush()

flush(): Promise<void>

Defined in: packages/agentos/src/core/observability/ITracer.ts:307

Forces export of all completed spans.

Returns

Promise<void>


getActiveSpans()

getActiveSpans(): ISpan[]

Defined in: packages/agentos/src/core/observability/ITracer.ts:296

Gets all active spans.

Returns

ISpan[]

Array of active spans


getCurrentContext()

getCurrentContext(): TraceContext | undefined

Defined in: packages/agentos/src/core/observability/ITracer.ts:252

Gets the current trace context.

Returns

TraceContext | undefined


getSpan()

getSpan(spanId): ISpan | undefined

Defined in: packages/agentos/src/core/observability/ITracer.ts:290

Gets a span by ID.

Parameters

spanId

string

Span ID

Returns

ISpan | undefined

The span or undefined


getStats()

getStats(): TracerStats

Defined in: packages/agentos/src/core/observability/ITracer.ts:312

Gets tracer statistics.

Returns

TracerStats


inject()

inject<T>(carrier): T

Defined in: packages/agentos/src/core/observability/ITracer.ts:276

Injects trace context into a carrier (for propagation).

Type Parameters

T

T extends Record<string, string>

Parameters

carrier

T

Object to inject into

Returns

T

The carrier with injected context


resetStats()

resetStats(): void

Defined in: packages/agentos/src/core/observability/ITracer.ts:317

Resets statistics.

Returns

void


shutdown()

shutdown(): Promise<void>

Defined in: packages/agentos/src/core/observability/ITracer.ts:322

Shuts down the tracer.

Returns

Promise<void>


startSpan()

startSpan(name, options?): ISpan

Defined in: packages/agentos/src/core/observability/ITracer.ts:260

Starts a new span.

Parameters

name

string

Span name

options?

SpanOptions

Span options

Returns

ISpan

The created span


withSpan()

withSpan<T>(name, fn, options?): Promise<T>

Defined in: packages/agentos/src/core/observability/ITracer.ts:269

Wraps an async function with tracing.

Type Parameters

T

T

Parameters

name

string

Span name

fn

(span) => Promise<T>

Function to wrap

options?

SpanOptions

Span options

Returns

Promise<T>

Result of the function