@@ -31,9 +31,18 @@ import { Session } from '../../amazonqTest/chat/session/session'
3131
3232export class TelemetryHelper {
3333 // 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+ }
3746 // variables for user trigger decision
3847 // these will be cleared after a invocation session
3948 private sessionDecisions : CodewhispererUserTriggerDecision [ ] = [ ]
@@ -582,12 +591,20 @@ export class TelemetryHelper {
582591
583592 public resetClientComponentLatencyTime ( ) {
584593 session . invokeSuggestionStartTime = 0
594+ session . preprocessEndTime = 0
585595 session . sdkApiCallStartTime = 0
586- this . sdkApiCallEndTime = 0
596+ this . _sdkApiCallEndTime = 0
587597 session . fetchCredentialStartTime = 0
588598 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 ( )
591608 }
592609
593610 /** This method is assumed to be invoked first at the start of execution **/
@@ -597,46 +614,46 @@ export class TelemetryHelper {
597614 }
598615
599616 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 ( )
602619 }
603620 }
604621
605622 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 ( )
608625 }
609626 }
610627
611628 public setFirstSuggestionShowTime ( ) {
612- if ( session . firstSuggestionShowTime === 0 && this . sdkApiCallEndTime !== 0 ) {
629+ if ( session . firstSuggestionShowTime === 0 && this . _sdkApiCallEndTime !== 0 ) {
613630 session . firstSuggestionShowTime = performance . now ( )
614631 }
615632 }
616633
617634 public setFirstResponseRequestId ( requestId : string ) {
618- if ( this . firstResponseRequestId === '' ) {
619- this . firstResponseRequestId = requestId
635+ if ( this . _firstResponseRequestId === '' ) {
636+ this . _firstResponseRequestId = requestId
620637 }
621638 }
622639
623640 // report client component latency after all pagination call finish
624641 // and at least one suggestion is shown to the user
625642 public tryRecordClientComponentLatency ( ) {
626- if ( session . firstSuggestionShowTime === 0 || this . allPaginationEndTime === 0 ) {
643+ if ( session . firstSuggestionShowTime === 0 || this . _allPaginationEndTime === 0 ) {
627644 return
628645 }
629646 telemetry . codewhisperer_clientComponentLatency . emit ( {
630- codewhispererAllCompletionsLatency : this . allPaginationEndTime - session . sdkApiCallStartTime ,
647+ codewhispererAllCompletionsLatency : this . _allPaginationEndTime - session . sdkApiCallStartTime ,
631648 codewhispererCompletionType : 'Line' ,
632649 codewhispererCredentialFetchingLatency : session . sdkApiCallStartTime - session . fetchCredentialStartTime ,
633650 codewhispererCustomizationArn : getSelectedCustomization ( ) . arn ,
634651 codewhispererEndToEndLatency : session . firstSuggestionShowTime - session . invokeSuggestionStartTime ,
635- codewhispererFirstCompletionLatency : this . sdkApiCallEndTime - session . sdkApiCallStartTime ,
652+ codewhispererFirstCompletionLatency : this . _sdkApiCallEndTime - session . sdkApiCallStartTime ,
636653 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 ,
640657 codewhispererSessionId : session . sessionId ,
641658 codewhispererTriggerType : session . triggerType ,
642659 credentialStartUrl : AuthUtil . instance . startUrl ,
0 commit comments