Răsfoiți Sursa

feat(telemetry): Add userId and sessionId metadata to experimental_telemetry (#5279)

Ravi Kumar 2 luni în urmă
părinte
comite
8326640670

+ 6 - 1
packages/opencode/src/agent/agent.ts

@@ -245,7 +245,12 @@ export namespace Agent {
     system.push(PROMPT_GENERATE)
     const existing = await list()
     const result = await generateObject({
-      experimental_telemetry: { isEnabled: cfg.experimental?.openTelemetry },
+      experimental_telemetry: {
+        isEnabled: cfg.experimental?.openTelemetry,
+        metadata: {
+          userId: cfg.username ?? "unknown",
+        },
+      },
       temperature: 0.3,
       prompt: [
         ...system.map(

+ 7 - 1
packages/opencode/src/session/compaction.ts

@@ -192,7 +192,13 @@ export namespace SessionCompaction {
           },
         ],
       }),
-      experimental_telemetry: { isEnabled: cfg.experimental?.openTelemetry },
+      experimental_telemetry: {
+        isEnabled: cfg.experimental?.openTelemetry,
+        metadata: {
+          userId: cfg.username ?? "unknown",
+          sessionId: input.sessionID,
+        },
+      },
     })
     if (result === "continue" && input.auto) {
       const continueMsg = await Session.updateMessage({

+ 14 - 2
packages/opencode/src/session/prompt.ts

@@ -628,7 +628,13 @@ export namespace SessionPrompt {
             },
           ],
         }),
-        experimental_telemetry: { isEnabled: cfg.experimental?.openTelemetry },
+        experimental_telemetry: {
+          isEnabled: cfg.experimental?.openTelemetry,
+          metadata: {
+            userId: cfg.username ?? "unknown",
+            sessionId: sessionID,
+          },
+        },
       })
       if (result === "stop") break
       continue
@@ -1491,7 +1497,13 @@ export namespace SessionPrompt {
       ],
       headers: small.headers,
       model: language,
-      experimental_telemetry: { isEnabled: cfg.experimental?.openTelemetry },
+      experimental_telemetry: {
+        isEnabled: cfg.experimental?.openTelemetry,
+        metadata: {
+          userId: cfg.username ?? "unknown",
+          sessionId: input.session.id,
+        },
+      },
     })
       .then((result) => {
         if (result.text)

+ 14 - 2
packages/opencode/src/session/summary.ts

@@ -111,7 +111,13 @@ export namespace SessionSummary {
         ],
         headers: small.headers,
         model: language,
-        experimental_telemetry: { isEnabled: cfg.experimental?.openTelemetry },
+        experimental_telemetry: {
+          isEnabled: cfg.experimental?.openTelemetry,
+          metadata: {
+            userId: cfg.username ?? "unknown",
+            sessionId: assistantMsg.sessionID,
+          },
+        },
       })
       log.info("title", { title: result.text })
       userMsg.summary.title = result.text
@@ -153,7 +159,13 @@ export namespace SessionSummary {
             },
           ],
           headers: small.headers,
-          experimental_telemetry: { isEnabled: cfg.experimental?.openTelemetry },
+          experimental_telemetry: {
+            isEnabled: cfg.experimental?.openTelemetry,
+            metadata: {
+              userId: cfg.username ?? "unknown",
+              sessionId: assistantMsg.sessionID,
+            },
+          },
         }).catch(() => {})
         if (result) summary = result.text
       }