Skip to content

AgentMetrics

Defined in: src/telemetry/meter.ts:154

Read-only snapshot of aggregated agent metrics.

Returned by Meter.metrics and stored on AgentResult. Provides access to cycle counts, tool usage, token consumption, and per-invocation breakdowns. Supports serialization via toJSON.

const result = await agent.invoke('Hello')
console.log(result.metrics?.cycleCount)
console.log(result.metrics?.totalDuration)
console.log(result.metrics?.accumulatedData)
console.log(result.metrics?.toolMetrics)
console.log(JSON.stringify(result.metrics))
  • JSONSerializable<AgentMetricsData>
new AgentMetrics(data?): AgentMetrics;

Defined in: src/telemetry/meter.ts:187

ParameterType
data?Partial<AgentMetricsData>

AgentMetrics

readonly cycleCount: number;

Defined in: src/telemetry/meter.ts:158

Number of agent loop cycles executed.


readonly accumulatedUsage: Usage;

Defined in: src/telemetry/meter.ts:163

Accumulated token usage across all model invocations.


readonly accumulatedMetrics: Metrics;

Defined in: src/telemetry/meter.ts:168

Accumulated performance metrics across all model invocations.


readonly agentInvocations: InvocationMetricsData[];

Defined in: src/telemetry/meter.ts:173

Per-invocation metrics.


readonly toolMetrics: Record<string, ToolMetricsData>;

Defined in: src/telemetry/meter.ts:178

Per-tool execution metrics keyed by tool name.


readonly latestContextSize: number;

Defined in: src/telemetry/meter.ts:185

The most recent input token count from the last model invocation. Represents the current context window utilization. Returns undefined when no invocations have occurred.

get latestAgentInvocation(): InvocationMetricsData;

Defined in: src/telemetry/meter.ts:199

The most recent agent invocation, or undefined if none exist.

InvocationMetricsData


get accumulatedData(): {
usage: Usage;
metrics: Metrics;
};

Defined in: src/telemetry/meter.ts:206

Accumulated usage and performance metrics across all model invocations.

{
usage: Usage;
metrics: Metrics;
}
NameTypeDefined in
usageUsagesrc/telemetry/meter.ts:206
metricsMetricssrc/telemetry/meter.ts:206

get totalDuration(): number;

Defined in: src/telemetry/meter.ts:213

Total duration of all cycles in milliseconds.

number


get averageCycleTime(): number;

Defined in: src/telemetry/meter.ts:220

Average cycle duration in milliseconds, or 0 if no cycles exist.

number


get toolUsage(): Record<string, ToolMetricsData & {
averageTime: number;
successRate: number;
}>;

Defined in: src/telemetry/meter.ts:228

Per-tool execution statistics with computed averages and rates.

Record<string, ToolMetricsData & { averageTime: number; successRate: number; }>

toJSON(): AgentMetricsData;

Defined in: src/telemetry/meter.ts:246

Returns a JSON-serializable representation of all collected metrics. Called automatically by JSON.stringify().

AgentMetricsData

A plain object suitable for round-trip serialization

JSONSerializable.toJSON