@@ -11,7 +11,7 @@ import * as vscode from 'vscode';
1111import { CopilotHelper } from './context/copilotHelper' ;
1212import { sendInfo } from "vscode-extension-telemetry-wrapper" ;
1313import {
14- logger ,
14+ logger ,
1515 JavaContextProviderUtils ,
1616 CancellationError ,
1717 InternalCancellationError ,
@@ -93,15 +93,13 @@ function createJavaContextResolver(): ContextResolverFunction {
9393/**
9494 * Send telemetry data for Java context resolution
9595 */
96- function sendContextTelemetry ( request : ResolveRequest , start : number , items : SupportedContextItem [ ] , status : string , error ?: string ) {
96+ function sendContextTelemetry ( request : ResolveRequest , start : number , itemCount : number , status : string , error ?: string ) {
9797 const duration = Math . round ( performance . now ( ) - start ) ;
98- const tokenCount = JavaContextProviderUtils . calculateTokenCount ( items ) ;
9998 const telemetryData : any = {
10099 "action" : "resolveJavaContext" ,
101100 "completionId" : request . completionId ,
102101 "duration" : duration ,
103- "itemCount" : items . length ,
104- "tokenCount" : tokenCount ,
102+ "itemCount" : itemCount ,
105103 "status" : status
106104 } ;
107105
@@ -130,37 +128,16 @@ async function resolveJavaContext(request: ResolveRequest, copilotCancel: vscode
130128
131129 const document = activeEditor . document ;
132130
133- // Resolve project dependencies first
134- const projectDependencies = await CopilotHelper . resolveProjectDependencies ( document . uri , copilotCancel ) ;
135- logger . info ( 'Resolved project dependencies count:' , Object . keys ( projectDependencies ) . length ) ;
136-
137- // Check for cancellation after dependency resolution
138- JavaContextProviderUtils . checkCancellation ( copilotCancel ) ;
139-
140- // Convert project dependencies to Trait items
141- if ( projectDependencies && Object . keys ( projectDependencies ) . length > 0 ) {
142- for ( const [ key , value ] of Object . entries ( projectDependencies ) ) {
143- items . push ( {
144- name : key ,
145- value : value ,
146- importance : 50
147- } ) ;
148- }
149- }
150-
151- // Check for cancellation before resolving imports
152- JavaContextProviderUtils . checkCancellation ( copilotCancel ) ;
153-
154131 // Resolve imports directly without caching
155132 const importClass = await CopilotHelper . resolveLocalImports ( document . uri , copilotCancel ) ;
156- logger . info ( 'Resolved imports count:' , importClass ?. length || 0 ) ;
133+ logger . trace ( 'Resolved imports count:' , importClass ?. length || 0 ) ;
157134
158135 // Check for cancellation after resolution
159136 JavaContextProviderUtils . checkCancellation ( copilotCancel ) ;
160137
161138 // Check for cancellation before processing results
162139 JavaContextProviderUtils . checkCancellation ( copilotCancel ) ;
163-
140+
164141 if ( importClass ) {
165142 // Process imports in batches to reduce cancellation check overhead
166143 const contextItems = JavaContextProviderUtils . createContextItemsFromImports ( importClass ) ;
@@ -172,26 +149,26 @@ async function resolveJavaContext(request: ResolveRequest, copilotCancel: vscode
172149 }
173150 } catch ( error : any ) {
174151 if ( error instanceof CopilotCancellationError ) {
175- sendContextTelemetry ( request , start , items , "cancelled_by_copilot" ) ;
152+ sendContextTelemetry ( request , start , items . length , "cancelled_by_copilot" ) ;
176153 throw error ;
177154 }
178155 if ( error instanceof vscode . CancellationError || error . message === CancellationError . Canceled ) {
179- sendContextTelemetry ( request , start , items , "cancelled_internally" ) ;
156+ sendContextTelemetry ( request , start , items . length , "cancelled_internally" ) ;
180157 throw new InternalCancellationError ( ) ;
181158 }
182159
183160 // Send telemetry for general errors (but continue with partial results)
184- sendContextTelemetry ( request , start , items , "error_partial_results" , error . message || "unknown_error" ) ;
161+ sendContextTelemetry ( request , start , items . length , "error_partial_results" , error . message || "unknown_error" ) ;
185162
186163 logger . error ( `Error resolving Java context for ${ documentUri } :${ caretOffset } :` , error ) ;
187164
188165 // Return partial results and log completion for error case
189166 JavaContextProviderUtils . logCompletion ( 'Java context resolution' , documentUri , caretOffset , start , items . length ) ;
190167 return items ;
191168 }
192-
169+
193170 // Send telemetry data once at the end for success case
194- sendContextTelemetry ( request , start , items , "succeeded" ) ;
171+ sendContextTelemetry ( request , start , items . length , "succeeded" ) ;
195172
196173 JavaContextProviderUtils . logCompletion ( 'Java context resolution' , documentUri , caretOffset , start , items . length ) ;
197174 return items ;
0 commit comments