Logging surface field in the start_session_event. Also logging sessio… (#4362)

This commit is contained in:
uttamkanodia14 2025-07-17 21:23:59 +05:30 committed by GitHub
parent cbda781f73
commit fc8c38b2bc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 29 additions and 1 deletions

View File

@ -205,11 +205,16 @@ export class ClearcutLogger {
} }
logStartSessionEvent(event: StartSessionEvent): void { logStartSessionEvent(event: StartSessionEvent): void {
const surface = process.env.SURFACE || 'SURFACE_NOT_SET';
const data = [ const data = [
{ {
gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_MODEL, gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_MODEL,
value: event.model, value: event.model,
}, },
{
gemini_cli_key: EventMetadataKey.GEMINI_CLI_SESSION_ID,
value: this.config?.getSessionId() ?? '',
},
{ {
gemini_cli_key: gemini_cli_key:
EventMetadataKey.GEMINI_CLI_START_SESSION_EMBEDDING_MODEL, EventMetadataKey.GEMINI_CLI_START_SESSION_EMBEDDING_MODEL,
@ -266,7 +271,12 @@ export class ClearcutLogger {
EventMetadataKey.GEMINI_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED, EventMetadataKey.GEMINI_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED,
value: event.telemetry_log_user_prompts_enabled.toString(), value: event.telemetry_log_user_prompts_enabled.toString(),
}, },
{
gemini_cli_key: EventMetadataKey.GEMINI_CLI_SURFACE,
value: surface,
},
]; ];
// Flush start event immediately // Flush start event immediately
this.enqueueLogEvent(this.createLogEvent(start_session_event_name, data)); this.enqueueLogEvent(this.createLogEvent(start_session_event_name, data));
this.flushToClearcut().catch((error) => { this.flushToClearcut().catch((error) => {
@ -280,6 +290,10 @@ export class ClearcutLogger {
gemini_cli_key: EventMetadataKey.GEMINI_CLI_USER_PROMPT_LENGTH, gemini_cli_key: EventMetadataKey.GEMINI_CLI_USER_PROMPT_LENGTH,
value: JSON.stringify(event.prompt_length), value: JSON.stringify(event.prompt_length),
}, },
{
gemini_cli_key: EventMetadataKey.GEMINI_CLI_SESSION_ID,
value: this.config?.getSessionId() ?? '',
},
{ {
gemini_cli_key: EventMetadataKey.GEMINI_CLI_PROMPT_ID, gemini_cli_key: EventMetadataKey.GEMINI_CLI_PROMPT_ID,
value: JSON.stringify(event.prompt_id), value: JSON.stringify(event.prompt_id),
@ -442,6 +456,10 @@ export class ClearcutLogger {
gemini_cli_key: EventMetadataKey.GEMINI_CLI_AUTH_TYPE, gemini_cli_key: EventMetadataKey.GEMINI_CLI_AUTH_TYPE,
value: JSON.stringify(event.auth_type), value: JSON.stringify(event.auth_type),
}, },
{
gemini_cli_key: EventMetadataKey.GEMINI_CLI_SESSION_ID,
value: this.config?.getSessionId() ?? '',
},
]; ];
this.enqueueLogEvent(this.createLogEvent(flash_fallback_event_name, data)); this.enqueueLogEvent(this.createLogEvent(flash_fallback_event_name, data));
@ -452,6 +470,10 @@ export class ClearcutLogger {
logLoopDetectedEvent(event: LoopDetectedEvent): void { logLoopDetectedEvent(event: LoopDetectedEvent): void {
const data = [ const data = [
{
gemini_cli_key: EventMetadataKey.GEMINI_CLI_SESSION_ID,
value: this.config?.getSessionId() ?? '',
},
{ {
gemini_cli_key: EventMetadataKey.GEMINI_CLI_LOOP_DETECTED_TYPE, gemini_cli_key: EventMetadataKey.GEMINI_CLI_LOOP_DETECTED_TYPE,
value: JSON.stringify(event.loop_type), value: JSON.stringify(event.loop_type),
@ -465,7 +487,7 @@ export class ClearcutLogger {
logEndSessionEvent(event: EndSessionEvent): void { logEndSessionEvent(event: EndSessionEvent): void {
const data = [ const data = [
{ {
gemini_cli_key: EventMetadataKey.GEMINI_CLI_END_SESSION_ID, gemini_cli_key: EventMetadataKey.GEMINI_CLI_SESSION_ID,
value: event?.session_id?.toString() ?? '', value: event?.session_id?.toString() ?? '',
}, },
]; ];

View File

@ -151,6 +151,12 @@ export enum EventMetadataKey {
// Logs the total number of Google accounts ever used. // Logs the total number of Google accounts ever used.
GEMINI_CLI_GOOGLE_ACCOUNTS_COUNT = 37, GEMINI_CLI_GOOGLE_ACCOUNTS_COUNT = 37,
// Logs the Surface from where the Gemini CLI was invoked, eg: VSCode.
GEMINI_CLI_SURFACE = 39,
// Logs the session id
GEMINI_CLI_SESSION_ID = 40,
// ========================================================================== // ==========================================================================
// Loop Detected Event Keys // Loop Detected Event Keys
// =========================================================================== // ===========================================================================