diff options
Diffstat (limited to 'packages/core/src')
| -rw-r--r-- | packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts | 24 | ||||
| -rw-r--r-- | packages/core/src/telemetry/clearcut-logger/event-metadata-key.ts | 6 |
2 files changed, 29 insertions, 1 deletions
diff --git a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts index 7beacb9b..e42aa677 100644 --- a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts +++ b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts @@ -205,12 +205,17 @@ export class ClearcutLogger { } logStartSessionEvent(event: StartSessionEvent): void { + const surface = process.env.SURFACE || 'SURFACE_NOT_SET'; const data = [ { gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_MODEL, value: event.model, }, { + gemini_cli_key: EventMetadataKey.GEMINI_CLI_SESSION_ID, + value: this.config?.getSessionId() ?? '', + }, + { gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_EMBEDDING_MODEL, value: event.embedding_model, @@ -266,7 +271,12 @@ export class ClearcutLogger { EventMetadataKey.GEMINI_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED, value: event.telemetry_log_user_prompts_enabled.toString(), }, + { + gemini_cli_key: EventMetadataKey.GEMINI_CLI_SURFACE, + value: surface, + }, ]; + // Flush start event immediately this.enqueueLogEvent(this.createLogEvent(start_session_event_name, data)); this.flushToClearcut().catch((error) => { @@ -281,6 +291,10 @@ export class ClearcutLogger { 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, value: JSON.stringify(event.prompt_id), }, @@ -442,6 +456,10 @@ export class ClearcutLogger { gemini_cli_key: EventMetadataKey.GEMINI_CLI_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)); @@ -453,6 +471,10 @@ export class ClearcutLogger { logLoopDetectedEvent(event: LoopDetectedEvent): void { const data = [ { + gemini_cli_key: EventMetadataKey.GEMINI_CLI_SESSION_ID, + value: this.config?.getSessionId() ?? '', + }, + { gemini_cli_key: EventMetadataKey.GEMINI_CLI_LOOP_DETECTED_TYPE, value: JSON.stringify(event.loop_type), }, @@ -465,7 +487,7 @@ export class ClearcutLogger { logEndSessionEvent(event: EndSessionEvent): void { const data = [ { - gemini_cli_key: EventMetadataKey.GEMINI_CLI_END_SESSION_ID, + gemini_cli_key: EventMetadataKey.GEMINI_CLI_SESSION_ID, value: event?.session_id?.toString() ?? '', }, ]; 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 4a47488a..b34cc6ea 100644 --- a/packages/core/src/telemetry/clearcut-logger/event-metadata-key.ts +++ b/packages/core/src/telemetry/clearcut-logger/event-metadata-key.ts @@ -151,6 +151,12 @@ export enum EventMetadataKey { // Logs the total number of Google accounts ever used. 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 // =========================================================================== |
