From 5ab184fcaf40d4e7dec9ba6a0526cac39b602ee2 Mon Sep 17 00:00:00 2001 From: agarwalravikant Date: Fri, 8 Aug 2025 10:08:07 +0530 Subject: Fix for git issue 5657 to add lines of code added/removed telemetry (#5823) Co-authored-by: Ravikant Agarwal --- .../src/telemetry/clearcut-logger/clearcut-logger.ts | 18 ++++++++++++++++++ .../telemetry/clearcut-logger/event-metadata-key.ts | 12 ++++++++++++ 2 files changed, 30 insertions(+) (limited to 'packages/core/src/telemetry/clearcut-logger') diff --git a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts index bff9f28e..09ae6741 100644 --- a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts +++ b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts @@ -476,6 +476,24 @@ export class ClearcutLogger { }, ]; + if (event.metadata) { + const metadataMapping: { [key: string]: EventMetadataKey } = { + ai_added_lines: EventMetadataKey.GEMINI_CLI_AI_ADDED_LINES, + ai_removed_lines: EventMetadataKey.GEMINI_CLI_AI_REMOVED_LINES, + user_added_lines: EventMetadataKey.GEMINI_CLI_USER_ADDED_LINES, + user_removed_lines: EventMetadataKey.GEMINI_CLI_USER_REMOVED_LINES, + }; + + for (const [key, gemini_cli_key] of Object.entries(metadataMapping)) { + if (event.metadata[key] !== undefined) { + data.push({ + gemini_cli_key, + value: JSON.stringify(event.metadata[key]), + }); + } + } + } + const logEvent = this.createLogEvent(tool_call_event_name, data); this.enqueueLogEvent(logEvent); this.flushIfNeeded(); diff --git a/packages/core/src/telemetry/clearcut-logger/event-metadata-key.ts b/packages/core/src/telemetry/clearcut-logger/event-metadata-key.ts index 54f570f1..81f41603 100644 --- a/packages/core/src/telemetry/clearcut-logger/event-metadata-key.ts +++ b/packages/core/src/telemetry/clearcut-logger/event-metadata-key.ts @@ -197,6 +197,18 @@ export enum EventMetadataKey { // Logs the type of the IDE connection. GEMINI_CLI_IDE_CONNECTION_TYPE = 46, + + // Logs AI added lines in edit/write tool response. + GEMINI_CLI_AI_ADDED_LINES = 47, + + // Logs AI removed lines in edit/write tool response. + GEMINI_CLI_AI_REMOVED_LINES = 48, + + // Logs user added lines in edit/write tool response. + GEMINI_CLI_USER_ADDED_LINES = 49, + + // Logs user removed lines in edit/write tool response. + GEMINI_CLI_USER_REMOVED_LINES = 50, } export function getEventMetadataKey( -- cgit v1.2.3