@@ -14,7 +14,11 @@ import { RecommendationHandler } from './recommendationHandler'
14
14
import { showTimedMessage } from '../../shared/utilities/messages'
15
15
import { getLogger } from '../../shared/logger/logger'
16
16
import globals from '../../shared/extensionGlobals'
17
- import { CodewhispererAutomatedTriggerType , CodewhispererTriggerType } from '../../shared/telemetry/telemetry'
17
+ import {
18
+ telemetry ,
19
+ CodewhispererAutomatedTriggerType ,
20
+ CodewhispererTriggerType ,
21
+ } from '../../shared/telemetry/telemetry'
18
22
19
23
const performance = globalThis . performance ?? require ( 'perf_hooks' ) . performance
20
24
@@ -401,6 +405,21 @@ export class InlineCompletion {
401
405
this . setRange ( new vscode . Range ( editor . selection . active , editor . selection . active ) )
402
406
try {
403
407
await this . showRecommendation ( editor )
408
+ let languageId = editor ?. document ?. languageId
409
+ languageId =
410
+ languageId === CodeWhispererConstants . typescript
411
+ ? CodeWhispererConstants . javascript
412
+ : languageId
413
+ const languageContext = runtimeLanguageContext . getLanguageContext ( languageId )
414
+ telemetry . codewhisperer_perceivedLatency . emit ( {
415
+ codewhispererRequestId : RecommendationHandler . instance . requestId ,
416
+ codewhispererSessionId : RecommendationHandler . instance . sessionId ,
417
+ codewhispererTriggerType : TelemetryHelper . instance . triggerType ,
418
+ codewhispererCompletionType : TelemetryHelper . instance . completionType ,
419
+ codewhispererLanguage : languageContext . language ,
420
+ duration : performance . now ( ) - RecommendationHandler . instance . lastInvocationTime ,
421
+ passive : true ,
422
+ } )
404
423
} catch ( error ) {
405
424
getLogger ( ) . error ( `Failed to show suggestion ${ error } ` )
406
425
RecommendationHandler . instance . cancelPaginatedRequest ( )
0 commit comments