Skip to content

Commit 8a18b92

Browse files
committed
replacing customerFacingMessage with UiMessage
1 parent b9239d4 commit 8a18b92

File tree

2 files changed

+50
-19
lines changed

2 files changed

+50
-19
lines changed

packages/core/src/amazonqTest/chat/controller/controller.ts

Lines changed: 49 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -242,26 +242,31 @@ export class TestController {
242242
// eslint-disable-next-line unicorn/no-null
243243
this.messenger.sendUpdatePromptProgress(data.tabID, null)
244244
const session = this.sessionStorage.getSession()
245-
const isCancel = data.error.customerFacingMessage === unitTestGenerationCancelMessage
246-
TelemetryHelper.instance.sendTestGenerationToolkitEvent(
247-
session,
248-
true,
249-
isCancel ? 'Cancelled' : 'Failed',
250-
session.startTestGenerationRequestId,
251-
performance.now() - session.testGenerationStartTime,
252-
getTelemetryReasonDesc(data.error),
253-
data.error.statusCode ?? '0', // If status code is 0, need to investigate where this is originating from.
254-
session.isCodeBlockSelected,
255-
session.artifactsUploadDuration,
256-
session.srcPayloadSize,
257-
session.srcZipFileSize
258-
)
245+
const isCancel = data.error.uiMessage === unitTestGenerationCancelMessage
246+
telemetry.amazonq_utgGenerateTests.emit({
247+
cwsprChatProgrammingLanguage: session.fileLanguage ?? 'plaintext',
248+
jobId: session.listOfTestGenerationJobId[0], // For RIV, UTG does only one StartTestGeneration API call
249+
jobGroup: session.testGenerationJobGroupName,
250+
requestId: session.startTestGenerationRequestId,
251+
hasUserPromptSupplied: session.hasUserPromptSupplied,
252+
isCodeBlockSelected: session.isCodeBlockSelected,
253+
buildPayloadBytes: session.srcPayloadSize,
254+
buildZipFileBytes: session.srcZipFileSize,
255+
artifactsUploadDuration: session.artifactsUploadDuration,
256+
perfClientLatency: performance.now() - session.testGenerationStartTime,
257+
result: isCancel ? 'Cancelled' : 'Failed',
258+
reasonDesc: getTelemetryReasonDesc(data.error),
259+
isSupportedLanguage: true,
260+
credentialStartUrl: AuthUtil.instance.startUrl,
261+
httpStatusCode: data.error.statusCode ?? 0, // If status code is 0, need to investigate where this is originating from.
262+
reason: data.error.code,
263+
})
259264
if (session.stopIteration) {
260265
// Error from Science
261-
this.messenger.sendMessage(data.error.customerFacingMessage.replaceAll('```', ''), data.tabID, 'answer')
266+
this.messenger.sendMessage(data.error.uiMessage.replaceAll('```', ''), data.tabID, 'answer')
262267
} else {
263268
isCancel
264-
? this.messenger.sendMessage(data.error.customerFacingMessage, data.tabID, 'answer')
269+
? this.messenger.sendMessage(data.error.uiMessage, data.tabID, 'answer')
265270
: this.sendErrorMessage(data)
266271
}
267272
await this.sessionCleanUp()
@@ -270,7 +275,7 @@ export class TestController {
270275
// Client side error messages
271276
private sendErrorMessage(data: {
272277
tabID: string
273-
error: { customerFacingMessage: string; message: string; code: string; statusCode: string }
278+
error: { uiMessage: string; message: string; code: string; statusCode: string }
274279
}) {
275280
const { error, tabID } = data
276281

@@ -304,7 +309,7 @@ export class TestController {
304309
}
305310
} else {
306311
// other unexpected errors (TODO enumerate all other failure cases)
307-
getLogger().error('Other error message: %s', error.customerFacingMessage)
312+
getLogger().error('Other error message: %s', error.uiMessage)
308313
this.messenger.sendErrorMessage('', tabID)
309314
}
310315
}
@@ -715,6 +720,9 @@ export class TestController {
715720
// this.messenger.sendMessage('Accepted', message.tabID, 'prompt')
716721
telemetry.ui_click.emit({ elementId: 'unitTestGeneration_acceptDiff' })
717722

723+
getLogger().info(
724+
`Generated unit tests are accepted for ${session.fileLanguage ?? 'plaintext'} language with jobId: ${session.listOfTestGenerationJobId[0]}, jobGroupName: ${session.testGenerationJobGroupName}, result: Succeeded`
725+
)
718726
TelemetryHelper.instance.sendTestGenerationToolkitEvent(
719727
session,
720728
true,
@@ -735,6 +743,29 @@ export class TestController {
735743
session.linesOfCodeGenerated
736744
)
737745

746+
telemetry.amazonq_utgGenerateTests.emit({
747+
generatedCount: session.numberOfTestsGenerated,
748+
acceptedCount: session.numberOfTestsGenerated,
749+
generatedCharactersCount: session.charsOfCodeGenerated,
750+
acceptedCharactersCount: session.charsOfCodeAccepted,
751+
generatedLinesCount: session.linesOfCodeGenerated,
752+
acceptedLinesCount: session.linesOfCodeAccepted,
753+
cwsprChatProgrammingLanguage: session.fileLanguage ?? 'plaintext',
754+
jobId: session.listOfTestGenerationJobId[0], // For RIV, UTG does only one StartTestGeneration API call so jobId = session.listOfTestGenerationJobId[0]
755+
jobGroup: session.testGenerationJobGroupName,
756+
requestId: session.startTestGenerationRequestId,
757+
buildPayloadBytes: session.srcPayloadSize,
758+
buildZipFileBytes: session.srcZipFileSize,
759+
artifactsUploadDuration: session.artifactsUploadDuration,
760+
hasUserPromptSupplied: session.hasUserPromptSupplied,
761+
isCodeBlockSelected: session.isCodeBlockSelected,
762+
perfClientLatency: session.latencyOfTestGeneration,
763+
isSupportedLanguage: true,
764+
credentialStartUrl: AuthUtil.instance.startUrl,
765+
result: 'Succeeded',
766+
httpStatusCode: '200',
767+
})
768+
738769
await this.endSession(message, FollowUpTypes.SkipBuildAndFinish)
739770
return
740771

packages/core/src/amazonqTest/error.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export class TestGenError extends ToolkitError {
1212
error: string,
1313
code: string,
1414
public statusCode: string,
15-
public customerFacingMessage: string
15+
public uiMessage: string
1616
) {
1717
super(error, { code })
1818
}

0 commit comments

Comments
 (0)