Skip to content

AgentMetrics

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

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:173

ParameterType
data?Partial<AgentMetricsData>

AgentMetrics

readonly cycleCount: number;

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

Number of agent loop cycles executed.


readonly accumulatedUsage: Usage;

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

Accumulated token usage across all model invocations.


readonly accumulatedMetrics: Metrics;

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

Accumulated performance metrics across all model invocations.


readonly agentInvocations: InvocationMetricsData[];

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

Per-invocation metrics.


readonly toolMetrics: Record<string, ToolMetricsData>;

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

Per-tool execution metrics keyed by tool name.

get latestAgentInvocation(): InvocationMetricsData;

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

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

InvocationMetricsData


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

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

Accumulated usage and performance metrics across all model invocations.

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

get totalDuration(): number;

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

Total duration of all cycles in milliseconds.

number


get averageCycleTime(): number;

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

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:213

Per-tool execution statistics with computed averages and rates.

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

toJSON(): AgentMetricsData;

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

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