feat: add file change tracking to session metrics (#6094)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Jacob Richman <jacob314@gmail.com>
This commit is contained in:
Arya Gummadi
2025-08-18 22:57:53 -07:00
committed by GitHub
parent da396bd566
commit 8f8082fe3d
10 changed files with 291 additions and 35 deletions

View File

@@ -63,6 +63,10 @@ export interface SessionMetrics {
};
byName: Record<string, ToolCallStats>;
};
files: {
totalLinesAdded: number;
totalLinesRemoved: number;
};
}
const createInitialModelMetrics = (): ModelMetrics => ({
@@ -96,6 +100,10 @@ const createInitialMetrics = (): SessionMetrics => ({
},
byName: {},
},
files: {
totalLinesAdded: 0,
totalLinesRemoved: 0,
},
});
export class UiTelemetryService extends EventEmitter {
@@ -171,7 +179,7 @@ export class UiTelemetryService extends EventEmitter {
}
private processToolCall(event: ToolCallEvent) {
const { tools } = this.#metrics;
const { tools, files } = this.#metrics;
tools.totalCalls++;
tools.totalDurationMs += event.duration_ms;
@@ -209,6 +217,16 @@ export class UiTelemetryService extends EventEmitter {
tools.totalDecisions[event.decision]++;
toolStats.decisions[event.decision]++;
}
// Aggregate line count data from metadata
if (event.metadata) {
if (event.metadata['ai_added_lines'] !== undefined) {
files.totalLinesAdded += event.metadata['ai_added_lines'];
}
if (event.metadata['ai_removed_lines'] !== undefined) {
files.totalLinesRemoved += event.metadata['ai_removed_lines'];
}
}
}
}