@@ -467,6 +467,7 @@ export class FeatureDevController {
467467 if ( session ?. state . phase === DevPhase . CODEGEN ) {
468468 const messageId = randomUUID ( )
469469 session . updateAcceptCodeMessageId ( messageId )
470+ session . updateAcceptCodeTelemetrySent ( false )
470471 // need to add the followUps with an extra update here, or it will double-render them
471472 this . messenger . sendAnswer ( {
472473 message : undefined ,
@@ -571,16 +572,10 @@ export class FeatureDevController {
571572
572573 const acceptedFiles = ( paths ?: { rejected : boolean } [ ] ) => ( paths || [ ] ) . filter ( ( i ) => ! i . rejected ) . length
573574
574- const amazonqNumberOfFilesAccepted =
575- acceptedFiles ( session . state . filePaths ) + acceptedFiles ( session . state . deletedFiles )
575+ const filesAccepted = acceptedFiles ( session . state . filePaths ) + acceptedFiles ( session . state . deletedFiles )
576+
577+ this . sendAcceptCodeTelemetry ( session , filesAccepted )
576578
577- telemetry . amazonq_isAcceptedCodeChanges . emit ( {
578- credentialStartUrl : AuthUtil . instance . startUrl ,
579- amazonqConversationId : session . conversationId ,
580- amazonqNumberOfFilesAccepted,
581- enabled : true ,
582- result : 'Succeeded' ,
583- } )
584579 await session . insertChanges ( )
585580 if ( session . acceptCodeMessageId ) {
586581 this . sendUpdateCodeMessage ( message . tabID )
@@ -748,6 +743,7 @@ export class FeatureDevController {
748743
749744 if ( filePathIndex !== - 1 && session . state . filePaths ) {
750745 if ( action === 'accept-change' ) {
746+ this . sendAcceptCodeTelemetry ( session , 1 )
751747 await session . insertNewFiles ( [ session . state . filePaths [ filePathIndex ] ] )
752748 await session . insertCodeReferenceLogs ( session . state . references ?? [ ] )
753749 await this . openFile ( session . state . filePaths [ filePathIndex ] )
@@ -757,6 +753,7 @@ export class FeatureDevController {
757753 }
758754 if ( deletedFilePathIndex !== - 1 && session . state . deletedFiles ) {
759755 if ( action === 'accept-change' ) {
756+ this . sendAcceptCodeTelemetry ( session , 1 )
760757 await session . applyDeleteFiles ( [ session . state . deletedFiles [ deletedFilePathIndex ] ] )
761758 await session . insertCodeReferenceLogs ( session . state . references ?? [ ] )
762759 } else {
@@ -955,4 +952,18 @@ export class FeatureDevController {
955952 const session = await this . sessionStorage . getSession ( tabID )
956953 session . updateAcceptCodeMessageId ( undefined )
957954 }
955+
956+ private sendAcceptCodeTelemetry ( session : Session , amazonqNumberOfFilesAccepted : number ) {
957+ // accepted code telemetry is only to be sent once per iteration of code generation
958+ if ( amazonqNumberOfFilesAccepted > 0 && ! session . acceptCodeTelemetrySent ) {
959+ session . updateAcceptCodeTelemetrySent ( true )
960+ telemetry . amazonq_isAcceptedCodeChanges . emit ( {
961+ credentialStartUrl : AuthUtil . instance . startUrl ,
962+ amazonqConversationId : session . conversationId ,
963+ amazonqNumberOfFilesAccepted,
964+ enabled : true ,
965+ result : 'Succeeded' ,
966+ } )
967+ }
968+ }
958969}
0 commit comments