From 539a49bd240a55252f9b8d2c697ae40fc73dc525 Mon Sep 17 00:00:00 2001 From: Shardul Natu <43422294+kiranani@users.noreply.github.com> Date: Wed, 27 Aug 2025 19:17:32 -0700 Subject: [PATCH] add(telemetry): Add missing telemetry for UserPromptEvent (#6885) Co-authored-by: Shnatu Co-authored-by: Arya Gummadi --- docs/telemetry.md | 7 ++++--- packages/core/src/telemetry/loggers.test.ts | 7 ++++++- packages/core/src/telemetry/loggers.ts | 5 +++++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/docs/telemetry.md b/docs/telemetry.md index 794975b7..7129da36 100644 --- a/docs/telemetry.md +++ b/docs/telemetry.md @@ -177,9 +177,10 @@ Logs are timestamped records of specific events. The following events are logged - `gemini_cli.user_prompt`: This event occurs when a user submits a prompt. - **Attributes**: - - `prompt_length` - - `prompt` (this attribute is excluded if `log_prompts_enabled` is configured to be `false`) - - `auth_type` + - `prompt_length` (int) + - `prompt_id` (string) + - `prompt` (string, this attribute is excluded if `log_prompts_enabled` is configured to be `false`) + - `auth_type` (string) - `gemini_cli.tool_call`: This event occurs for each function call. - **Attributes**: diff --git a/packages/core/src/telemetry/loggers.test.ts b/packages/core/src/telemetry/loggers.test.ts index eba9ca3b..3852fe56 100644 --- a/packages/core/src/telemetry/loggers.test.ts +++ b/packages/core/src/telemetry/loggers.test.ts @@ -208,6 +208,8 @@ describe('loggers', () => { 'event.timestamp': '2025-01-01T00:00:00.000Z', prompt_length: 11, prompt: 'test-prompt', + prompt_id: 'prompt-id-8', + auth_type: 'vertex-ai', }, }); }); @@ -222,8 +224,9 @@ describe('loggers', () => { } as unknown as Config; const event = new UserPromptEvent( 11, - 'test-prompt', + 'prompt-id-9', AuthType.CLOUD_SHELL, + 'test-prompt', ); logUserPrompt(mockConfig, event); @@ -236,6 +239,8 @@ describe('loggers', () => { 'event.name': EVENT_USER_PROMPT, 'event.timestamp': '2025-01-01T00:00:00.000Z', prompt_length: 11, + prompt_id: 'prompt-id-9', + auth_type: 'cloud-shell', }, }); }); diff --git a/packages/core/src/telemetry/loggers.ts b/packages/core/src/telemetry/loggers.ts index 764bba31..560cbe9c 100644 --- a/packages/core/src/telemetry/loggers.ts +++ b/packages/core/src/telemetry/loggers.ts @@ -122,8 +122,13 @@ export function logUserPrompt(config: Config, event: UserPromptEvent): void { 'event.name': EVENT_USER_PROMPT, 'event.timestamp': new Date().toISOString(), prompt_length: event.prompt_length, + prompt_id: event.prompt_id, }; + if (event.auth_type) { + attributes['auth_type'] = event.auth_type; + } + if (shouldLogUserPrompts(config)) { attributes['prompt'] = event.prompt; }