summaryrefslogtreecommitdiffhomepage
path: root/src/core/metrics
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/metrics')
-rw-r--r--src/core/metrics/format.ts3
-rw-r--r--src/core/metrics/place.ts1
-rw-r--r--src/core/metrics/types.ts3
3 files changed, 6 insertions, 1 deletions
diff --git a/src/core/metrics/format.ts b/src/core/metrics/format.ts
index 4d69f25..534277c 100644
--- a/src/core/metrics/format.ts
+++ b/src/core/metrics/format.ts
@@ -155,7 +155,7 @@ export function viewExpectedCache(current: Usage, prev: Usage | null): CacheRate
}
/** Build a formatted view of a turn's aggregate metrics. */
-export function viewTurnMetrics(turn: TurnMetrics): TurnMetricsView {
+export function viewTurnMetrics(turn: TurnMetrics, turnNumber?: number): TurnMetricsView {
const total = totalTokens(turn.usage);
let totalGenMs: number | undefined;
for (const step of turn.steps) {
@@ -166,6 +166,7 @@ export function viewTurnMetrics(turn: TurnMetrics): TurnMetricsView {
}
const tps = computeTps(turn.usage.outputTokens, totalGenMs);
return {
+ label: turnNumber !== undefined ? `turn ${turnNumber}` : "turn",
tokensLabel: `${formatTokens(total)} tok`,
breakdown: formatBreakdown(turn.usage),
tps: formatTps(tps),
diff --git a/src/core/metrics/place.ts b/src/core/metrics/place.ts
index cb16b30..1009b15 100644
--- a/src/core/metrics/place.ts
+++ b/src/core/metrics/place.ts
@@ -232,6 +232,7 @@ export function interleaveTurnMetrics(
rows.push({
kind: "turn-metrics",
turn: entry.total,
+ turnNumber: entryIdx + 1,
cumulativeUsage: cumulativeByEntry[entryIdx] ?? entry.total.usage,
prevTurnUsage: prevUsageByEntry[entryIdx] ?? null,
});
diff --git a/src/core/metrics/types.ts b/src/core/metrics/types.ts
index c22fd9f..5b96e0f 100644
--- a/src/core/metrics/types.ts
+++ b/src/core/metrics/types.ts
@@ -56,6 +56,8 @@ export type MetricsRow =
| {
readonly kind: "turn-metrics";
readonly turn: TurnMetrics;
+ /** 1-based turn number (the entry's position in the metrics array + 1). */
+ readonly turnNumber: number;
/** Cumulative usage across all finalized turns up to and including this one. */
readonly cumulativeUsage: Usage;
/**
@@ -87,6 +89,7 @@ export interface StepMetricsView {
/** Formatted per-turn view for display. */
export interface TurnMetricsView {
+ readonly label: string;
readonly tokensLabel: string;
readonly breakdown: string;
readonly tps: string | null;