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
readonlyname: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
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
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?
Span options
Returns
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?
Span options
Returns
Promise<T>
Result of the function