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.
Example
Section titled “Example”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))Implements
Section titled “Implements”JSONSerializable<AgentMetricsData>
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new AgentMetrics(data?): AgentMetrics;Defined in: src/telemetry/meter.ts:173
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
data? | Partial<AgentMetricsData> |
Returns
Section titled “Returns”AgentMetrics
Properties
Section titled “Properties”cycleCount
Section titled “cycleCount”readonly cycleCount: number;Defined in: src/telemetry/meter.ts:151
Number of agent loop cycles executed.
accumulatedUsage
Section titled “accumulatedUsage”readonly accumulatedUsage: Usage;Defined in: src/telemetry/meter.ts:156
Accumulated token usage across all model invocations.
accumulatedMetrics
Section titled “accumulatedMetrics”readonly accumulatedMetrics: Metrics;Defined in: src/telemetry/meter.ts:161
Accumulated performance metrics across all model invocations.
agentInvocations
Section titled “agentInvocations”readonly agentInvocations: InvocationMetricsData[];Defined in: src/telemetry/meter.ts:166
Per-invocation metrics.
toolMetrics
Section titled “toolMetrics”readonly toolMetrics: Record<string, ToolMetricsData>;Defined in: src/telemetry/meter.ts:171
Per-tool execution metrics keyed by tool name.
Accessors
Section titled “Accessors”latestAgentInvocation
Section titled “latestAgentInvocation”Get Signature
Section titled “Get Signature”get latestAgentInvocation(): InvocationMetricsData;Defined in: src/telemetry/meter.ts:184
The most recent agent invocation, or undefined if none exist.
Returns
Section titled “Returns”InvocationMetricsData
accumulatedData
Section titled “accumulatedData”Get Signature
Section titled “Get Signature”get accumulatedData(): { usage: Usage; metrics: Metrics;};Defined in: src/telemetry/meter.ts:191
Accumulated usage and performance metrics across all model invocations.
Returns
Section titled “Returns”{ usage: Usage; metrics: Metrics;}| Name | Type | Defined in |
|---|---|---|
usage | Usage | src/telemetry/meter.ts:191 |
metrics | Metrics | src/telemetry/meter.ts:191 |
totalDuration
Section titled “totalDuration”Get Signature
Section titled “Get Signature”get totalDuration(): number;Defined in: src/telemetry/meter.ts:198
Total duration of all cycles in milliseconds.
Returns
Section titled “Returns”number
averageCycleTime
Section titled “averageCycleTime”Get Signature
Section titled “Get Signature”get averageCycleTime(): number;Defined in: src/telemetry/meter.ts:205
Average cycle duration in milliseconds, or 0 if no cycles exist.
Returns
Section titled “Returns”number
toolUsage
Section titled “toolUsage”Get Signature
Section titled “Get Signature”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.
Returns
Section titled “Returns”Record<string, ToolMetricsData & {
averageTime: number;
successRate: number;
}>
Methods
Section titled “Methods”toJSON()
Section titled “toJSON()”toJSON(): AgentMetricsData;Defined in: src/telemetry/meter.ts:231
Returns a JSON-serializable representation of all collected metrics. Called automatically by JSON.stringify().
Returns
Section titled “Returns”AgentMetricsData
A plain object suitable for round-trip serialization
Implementation of
Section titled “Implementation of”JSONSerializable.toJSON