AgentMetrics
Defined in: src/telemetry/meter.ts:160
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:200
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:164
Number of agent loop cycles executed.
accumulatedUsage
Section titled “accumulatedUsage”readonly accumulatedUsage: Usage;Defined in: src/telemetry/meter.ts:169
Accumulated token usage across all model invocations.
accumulatedMetrics
Section titled “accumulatedMetrics”readonly accumulatedMetrics: Metrics;Defined in: src/telemetry/meter.ts:174
Accumulated performance metrics across all model invocations.
agentInvocations
Section titled “agentInvocations”readonly agentInvocations: InvocationMetricsData[];Defined in: src/telemetry/meter.ts:179
Per-invocation metrics.
toolMetrics
Section titled “toolMetrics”readonly toolMetrics: Record<string, ToolMetricsData>;Defined in: src/telemetry/meter.ts:184
Per-tool execution metrics keyed by tool name.
latestContextSize
Section titled “latestContextSize”readonly latestContextSize: number;Defined in: src/telemetry/meter.ts:191
The most recent input token count from the last model invocation.
Represents the current context window utilization.
Returns undefined when no invocations have occurred.
projectedContextSize
Section titled “projectedContextSize”readonly projectedContextSize: number;Defined in: src/telemetry/meter.ts:198
Projected context size for the next model call (inputTokens + outputTokens from the last call).
Represents the baseline token count the next invocation will start with.
Returns undefined when no invocations have occurred.
Accessors
Section titled “Accessors”latestAgentInvocation
Section titled “latestAgentInvocation”Get Signature
Section titled “Get Signature”get latestAgentInvocation(): InvocationMetricsData;Defined in: src/telemetry/meter.ts:213
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:220
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:220 |
metrics | Metrics | src/telemetry/meter.ts:220 |
totalDuration
Section titled “totalDuration”Get Signature
Section titled “Get Signature”get totalDuration(): number;Defined in: src/telemetry/meter.ts:227
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:234
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:242
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:260
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