@@ -31,9 +31,18 @@ import { Session } from '../../amazonqTest/chat/session/session'
31
31
32
32
export class TelemetryHelper {
33
33
// Some variables for client component latency
34
- private sdkApiCallEndTime = 0
35
- private allPaginationEndTime = 0
36
- private firstResponseRequestId = ''
34
+ private _sdkApiCallEndTime = 0
35
+ get sdkApiCallEndTime ( ) : number {
36
+ return this . _sdkApiCallEndTime
37
+ }
38
+ private _allPaginationEndTime = 0
39
+ get allPaginationEndTime ( ) : number {
40
+ return this . _allPaginationEndTime
41
+ }
42
+ private _firstResponseRequestId = ''
43
+ get firstResponseRequestId ( ) : string {
44
+ return this . _firstResponseRequestId
45
+ }
37
46
// variables for user trigger decision
38
47
// these will be cleared after a invocation session
39
48
private sessionDecisions : CodewhispererUserTriggerDecision [ ] = [ ]
@@ -582,12 +591,20 @@ export class TelemetryHelper {
582
591
583
592
public resetClientComponentLatencyTime ( ) {
584
593
session . invokeSuggestionStartTime = 0
594
+ session . preprocessEndTime = 0
585
595
session . sdkApiCallStartTime = 0
586
- this . sdkApiCallEndTime = 0
596
+ this . _sdkApiCallEndTime = 0
587
597
session . fetchCredentialStartTime = 0
588
598
session . firstSuggestionShowTime = 0
589
- this . allPaginationEndTime = 0
590
- this . firstResponseRequestId = ''
599
+ this . _allPaginationEndTime = 0
600
+ this . _firstResponseRequestId = ''
601
+ }
602
+
603
+ public setPreprocessEndTime ( ) {
604
+ if ( session . preprocessEndTime !== 0 ) {
605
+ getLogger ( ) . warn ( `inline completion preprocessEndTime has been set and not reset correctly` )
606
+ }
607
+ session . preprocessEndTime = performance . now ( )
591
608
}
592
609
593
610
/** This method is assumed to be invoked first at the start of execution **/
@@ -597,46 +614,46 @@ export class TelemetryHelper {
597
614
}
598
615
599
616
public setSdkApiCallEndTime ( ) {
600
- if ( this . sdkApiCallEndTime === 0 && session . sdkApiCallStartTime !== 0 ) {
601
- this . sdkApiCallEndTime = performance . now ( )
617
+ if ( this . _sdkApiCallEndTime === 0 && session . sdkApiCallStartTime !== 0 ) {
618
+ this . _sdkApiCallEndTime = performance . now ( )
602
619
}
603
620
}
604
621
605
622
public setAllPaginationEndTime ( ) {
606
- if ( this . allPaginationEndTime === 0 && this . sdkApiCallEndTime !== 0 ) {
607
- this . allPaginationEndTime = performance . now ( )
623
+ if ( this . _allPaginationEndTime === 0 && this . _sdkApiCallEndTime !== 0 ) {
624
+ this . _allPaginationEndTime = performance . now ( )
608
625
}
609
626
}
610
627
611
628
public setFirstSuggestionShowTime ( ) {
612
- if ( session . firstSuggestionShowTime === 0 && this . sdkApiCallEndTime !== 0 ) {
629
+ if ( session . firstSuggestionShowTime === 0 && this . _sdkApiCallEndTime !== 0 ) {
613
630
session . firstSuggestionShowTime = performance . now ( )
614
631
}
615
632
}
616
633
617
634
public setFirstResponseRequestId ( requestId : string ) {
618
- if ( this . firstResponseRequestId === '' ) {
619
- this . firstResponseRequestId = requestId
635
+ if ( this . _firstResponseRequestId === '' ) {
636
+ this . _firstResponseRequestId = requestId
620
637
}
621
638
}
622
639
623
640
// report client component latency after all pagination call finish
624
641
// and at least one suggestion is shown to the user
625
642
public tryRecordClientComponentLatency ( ) {
626
- if ( session . firstSuggestionShowTime === 0 || this . allPaginationEndTime === 0 ) {
643
+ if ( session . firstSuggestionShowTime === 0 || this . _allPaginationEndTime === 0 ) {
627
644
return
628
645
}
629
646
telemetry . codewhisperer_clientComponentLatency . emit ( {
630
- codewhispererAllCompletionsLatency : this . allPaginationEndTime - session . sdkApiCallStartTime ,
647
+ codewhispererAllCompletionsLatency : this . _allPaginationEndTime - session . sdkApiCallStartTime ,
631
648
codewhispererCompletionType : 'Line' ,
632
649
codewhispererCredentialFetchingLatency : session . sdkApiCallStartTime - session . fetchCredentialStartTime ,
633
650
codewhispererCustomizationArn : getSelectedCustomization ( ) . arn ,
634
651
codewhispererEndToEndLatency : session . firstSuggestionShowTime - session . invokeSuggestionStartTime ,
635
- codewhispererFirstCompletionLatency : this . sdkApiCallEndTime - session . sdkApiCallStartTime ,
652
+ codewhispererFirstCompletionLatency : this . _sdkApiCallEndTime - session . sdkApiCallStartTime ,
636
653
codewhispererLanguage : session . language ,
637
- codewhispererPostprocessingLatency : session . firstSuggestionShowTime - this . sdkApiCallEndTime ,
638
- codewhispererPreprocessingLatency : session . fetchCredentialStartTime - session . invokeSuggestionStartTime ,
639
- codewhispererRequestId : this . firstResponseRequestId ,
654
+ codewhispererPostprocessingLatency : session . firstSuggestionShowTime - this . _sdkApiCallEndTime ,
655
+ codewhispererPreprocessingLatency : session . preprocessEndTime - session . invokeSuggestionStartTime ,
656
+ codewhispererRequestId : this . _firstResponseRequestId ,
640
657
codewhispererSessionId : session . sessionId ,
641
658
codewhispererTriggerType : session . triggerType ,
642
659
credentialStartUrl : AuthUtil . instance . startUrl ,
0 commit comments