summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts24
-rw-r--r--packages/core/src/telemetry/clearcut-logger/event-metadata-key.ts6
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
// ===========================================================================