diff options
| author | Arya Gummadi <[email protected]> | 2025-08-18 22:57:53 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-19 05:57:53 +0000 |
| commit | 8f8082fe3da9e1972f8b8226c68fa14e326a3d8a (patch) | |
| tree | f4e8b121bea73120e57e59eba8d6ad3fbda2c59c /packages/core/src/telemetry/uiTelemetry.ts | |
| parent | da396bd5662adcac3ebc60d55cfc1d722b903e38 (diff) | |
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 <[email protected]>
Diffstat (limited to 'packages/core/src/telemetry/uiTelemetry.ts')
| -rw-r--r-- | packages/core/src/telemetry/uiTelemetry.ts | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/packages/core/src/telemetry/uiTelemetry.ts b/packages/core/src/telemetry/uiTelemetry.ts index 8d1b044f..318478aa 100644 --- a/packages/core/src/telemetry/uiTelemetry.ts +++ b/packages/core/src/telemetry/uiTelemetry.ts @@ -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']; + } + } } } |
