Skip to content

Commit b6997c0

Browse files
committed
Fix: filter out frequent client error from codegeneration telemetry
1 parent 9dffe3e commit b6997c0

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

packages/core/src/amazonqFeatureDev/controllers/chat/controller.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,12 +555,30 @@ export class FeatureDevController {
555555
result = MetricDataResult.Fault
556556
}
557557
break
558+
case MonthlyConversationLimitError.name:
559+
case CodeIterationLimitError.name:
558560
case PromptRefusalException.name:
559561
case NoChangeRequiredException.name:
560562
result = MetricDataResult.Error
561563
break
562564
default:
563-
result = MetricDataResult.Fault
565+
const clinetErrorMessages = [
566+
'Improperly formed request',
567+
'Resource not found',
568+
'StartTaskAssistCodeGeneration reached for this month.',
569+
'The folder you chose did not contain any source files in a supported language. Choose another folder and try again.',
570+
'reached the quota for number of iterations on code generation.',
571+
]
572+
573+
if (
574+
(err.code === 'StartCodeGenerationFailed' &&
575+
clinetErrorMessages.slice(0, 2).some((msg) => err.message.includes(msg))) ||
576+
clinetErrorMessages.slice(2).some((msg) => err.message.includes(msg))
577+
) {
578+
result = MetricDataResult.Error
579+
} else {
580+
result = MetricDataResult.Fault
581+
}
564582
break
565583
}
566584

packages/core/src/test/amazonqFeatureDev/controllers/chat/controller.test.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -471,12 +471,31 @@ describe('Controller', () => {
471471
['EmptyPatchException', MetricDataResult.LlmFailure],
472472
[PromptRefusalException.name, MetricDataResult.Error],
473473
[NoChangeRequiredException.name, MetricDataResult.Error],
474+
[MonthlyConversationLimitError.name, MetricDataResult.Error],
475+
[CodeIterationLimitError.name, MetricDataResult.Error],
474476
])
475477

476478
function getMetricResult(error: ToolkitError): MetricDataResult {
477479
if (error instanceof FeatureDevServiceError && error.code) {
478480
return errorResultMapping.get(error.code) ?? MetricDataResult.Error
479481
}
482+
if (
483+
error.code === 'StartCodeGenerationFailed' &&
484+
(error.message.includes('Improperly formed request') ||
485+
error.message.includes('Resource not found'))
486+
) {
487+
return MetricDataResult.Error
488+
}
489+
if (error.message.includes('StartTaskAssistCodeGeneration reached for this month.')) {
490+
return MetricDataResult.Error
491+
}
492+
if (
493+
error.message.includes(
494+
'The folder you chose did not contain any source files in a supported language. Choose another folder and try again.'
495+
)
496+
) {
497+
return MetricDataResult.Error
498+
}
480499
return errorResultMapping.get(error.constructor.name) ?? MetricDataResult.Fault
481500
}
482501

0 commit comments

Comments
 (0)