From f322d8ea8a3af2fd39ffe48c29b71d2a27339666 Mon Sep 17 00:00:00 2001 From: Christof Marti Date: Fri, 16 Jan 2026 10:17:16 +0100 Subject: [PATCH] Add telemetry event --- .../browser/chatSetup/chatSetupProviders.ts | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts index 37dbdf9e408..f13d8facbad 100644 --- a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts +++ b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts @@ -362,6 +362,33 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { toolsModelReady }); + type ChatSetupTimeoutClassification = { + owner: 'chrmarti'; + comment: 'Provides insight into chat setup timeouts.'; + agentActivated: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'Whether the agent was activated.' }; + agentReady: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'Whether the agent was ready.' }; + languageModelReady: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'Whether the language model was ready.' }; + toolsModelReady: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'Whether the tools model was ready.' }; + isRemote: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'Whether this is a remote scenario.' }; + isAnonymous: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'Whether anonymous access is enabled.' }; + }; + type ChatSetupTimeoutEvent = { + agentActivated: boolean; + agentReady: boolean; + languageModelReady: boolean; + toolsModelReady: boolean; + isRemote: boolean; + isAnonymous: boolean; + }; + this.telemetryService.publicLog2('chatSetup.timeout', { + agentActivated, + agentReady, + languageModelReady, + toolsModelReady, + isRemote: !!this.environmentService.remoteAuthority, + isAnonymous: this.chatEntitlementService.anonymous + }); + progress({ kind: 'warning', content: new MarkdownString(warningMessage)