From bfc05e4d4f2c10f6177f8a0215d19280df643ca9 Mon Sep 17 00:00:00 2001 From: Nick Ardecky Date: Mon, 11 Dec 2023 13:38:10 -0800 Subject: [PATCH 1/4] Feature - Update aws-toolkit-commons package - update AmazonQ Code Transform telemetry definitions for new package update --- .../Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json | 4 ++++ package-lock.json | 8 ++++---- package.json | 2 +- src/codewhisperer/service/transformByQHandler.ts | 9 ++++----- 4 files changed, 13 insertions(+), 10 deletions(-) create mode 100644 .changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json diff --git a/.changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json b/.changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json new file mode 100644 index 00000000000..d84e16d6109 --- /dev/null +++ b/.changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json @@ -0,0 +1,4 @@ +{ + "type": "Bug Fix", + "description": "Fix telemetry logging for new Amazon Q Code Transform telemetry updates" +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 517a951ed38..d58231e579e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -74,7 +74,7 @@ }, "devDependencies": { "@aws-sdk/types": "^3.13.1", - "@aws-toolkits/telemetry": "^1.0.169", + "@aws-toolkits/telemetry": "^1.0.171", "@aws/fully-qualified-names": "^2.1.1", "@cspotcode/source-map-support": "^0.8.1", "@sinonjs/fake-timers": "^10.0.2", @@ -4832,9 +4832,9 @@ } }, "node_modules/@aws-toolkits/telemetry": { - "version": "1.0.169", - "resolved": "https://registry.npmjs.org/@aws-toolkits/telemetry/-/telemetry-1.0.169.tgz", - "integrity": "sha512-wOP29EZElsoXo2Uw8EebWJvFp2eUCIiLQTLzqG0mr06TQbnVQw2i2tZRSY/OGg+uqX35to3dFTqEJdZzP760CA==", + "version": "1.0.171", + "resolved": "https://registry.npmjs.org/@aws-toolkits/telemetry/-/telemetry-1.0.171.tgz", + "integrity": "sha512-mHHA/j/qqRX3Q5f4GiObldKrUdpf3XBwcv0qFb2BVMbDtFO9sOkHU9xsSofVVC/k9euW3Lc1WljVG9msDiMPiw==", "dev": true, "dependencies": { "ajv": "^6.12.6", diff --git a/package.json b/package.json index 21142a68215..487d7972715 100644 --- a/package.json +++ b/package.json @@ -4263,7 +4263,7 @@ }, "devDependencies": { "@aws-sdk/types": "^3.13.1", - "@aws-toolkits/telemetry": "^1.0.169", + "@aws-toolkits/telemetry": "^1.0.171", "@aws/fully-qualified-names": "^2.1.1", "@cspotcode/source-map-support": "^0.8.1", "@sinonjs/fake-timers": "^10.0.2", diff --git a/src/codewhisperer/service/transformByQHandler.ts b/src/codewhisperer/service/transformByQHandler.ts index a8a387d3077..2f863347e44 100644 --- a/src/codewhisperer/service/transformByQHandler.ts +++ b/src/codewhisperer/service/transformByQHandler.ts @@ -93,7 +93,7 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { vscode.window.showErrorMessage(CodeWhispererConstants.noSupportedJavaProjectsFoundMessage, { modal: true }) telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: 'No Java project found' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'NoJavaProject', result: MetadataResult.Fail, }) throw new TransformByQJavaProjectNotFound() @@ -107,7 +107,7 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { vscode.window.showErrorMessage(CodeWhispererConstants.noSupportedJavaProjectsFoundMessage, { modal: true }) telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: 'No Java project found' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'NoJavaProject', result: MetadataResult.Fail, }) throw new ToolkitError('Unable to determine Java version', { @@ -125,8 +125,7 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { vscode.window.showErrorMessage(CodeWhispererConstants.noSupportedJavaProjectsFoundMessage, { modal: true }) telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: - 'Project selected is not Java 8 or Java 11' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'UnsupportedJavaVersion', result: MetadataResult.Fail, reason: javaVersion, }) @@ -142,7 +141,7 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { vscode.window.showErrorMessage(CodeWhispererConstants.noPomXmlFoundMessage, { modal: true }) telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: 'Only Maven projects supported' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'NonMavenProject', result: MetadataResult.Fail, reason: buildType, }) From 039d7380934bdd61ed8877f033246566a2c1caa8 Mon Sep 17 00:00:00 2001 From: Nick Ardecky Date: Mon, 11 Dec 2023 13:38:10 -0800 Subject: [PATCH 2/4] Feature - Update aws-toolkit-commons package - update AmazonQ Code Transform telemetry definitions for new package update --- ...x-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json | 4 ++++ package-lock.json | 8 ++++---- package.json | 2 +- .../service/transformByQHandler.ts | 18 ++++++++++++------ 4 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 .changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json diff --git a/.changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json b/.changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json new file mode 100644 index 00000000000..d84e16d6109 --- /dev/null +++ b/.changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json @@ -0,0 +1,4 @@ +{ + "type": "Bug Fix", + "description": "Fix telemetry logging for new Amazon Q Code Transform telemetry updates" +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 517a951ed38..d58231e579e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -74,7 +74,7 @@ }, "devDependencies": { "@aws-sdk/types": "^3.13.1", - "@aws-toolkits/telemetry": "^1.0.169", + "@aws-toolkits/telemetry": "^1.0.171", "@aws/fully-qualified-names": "^2.1.1", "@cspotcode/source-map-support": "^0.8.1", "@sinonjs/fake-timers": "^10.0.2", @@ -4832,9 +4832,9 @@ } }, "node_modules/@aws-toolkits/telemetry": { - "version": "1.0.169", - "resolved": "https://registry.npmjs.org/@aws-toolkits/telemetry/-/telemetry-1.0.169.tgz", - "integrity": "sha512-wOP29EZElsoXo2Uw8EebWJvFp2eUCIiLQTLzqG0mr06TQbnVQw2i2tZRSY/OGg+uqX35to3dFTqEJdZzP760CA==", + "version": "1.0.171", + "resolved": "https://registry.npmjs.org/@aws-toolkits/telemetry/-/telemetry-1.0.171.tgz", + "integrity": "sha512-mHHA/j/qqRX3Q5f4GiObldKrUdpf3XBwcv0qFb2BVMbDtFO9sOkHU9xsSofVVC/k9euW3Lc1WljVG9msDiMPiw==", "dev": true, "dependencies": { "ajv": "^6.12.6", diff --git a/package.json b/package.json index 21142a68215..487d7972715 100644 --- a/package.json +++ b/package.json @@ -4263,7 +4263,7 @@ }, "devDependencies": { "@aws-sdk/types": "^3.13.1", - "@aws-toolkits/telemetry": "^1.0.169", + "@aws-toolkits/telemetry": "^1.0.171", "@aws/fully-qualified-names": "^2.1.1", "@cspotcode/source-map-support": "^0.8.1", "@sinonjs/fake-timers": "^10.0.2", diff --git a/src/codewhisperer/service/transformByQHandler.ts b/src/codewhisperer/service/transformByQHandler.ts index a8a387d3077..15a4a94ff27 100644 --- a/src/codewhisperer/service/transformByQHandler.ts +++ b/src/codewhisperer/service/transformByQHandler.ts @@ -93,7 +93,7 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { vscode.window.showErrorMessage(CodeWhispererConstants.noSupportedJavaProjectsFoundMessage, { modal: true }) telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: 'No Java project found' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'NoJavaProject', result: MetadataResult.Fail, }) throw new TransformByQJavaProjectNotFound() @@ -107,7 +107,7 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { vscode.window.showErrorMessage(CodeWhispererConstants.noSupportedJavaProjectsFoundMessage, { modal: true }) telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: 'No Java project found' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'NoJavaProject', result: MetadataResult.Fail, }) throw new ToolkitError('Unable to determine Java version', { @@ -125,8 +125,7 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { vscode.window.showErrorMessage(CodeWhispererConstants.noSupportedJavaProjectsFoundMessage, { modal: true }) telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: - 'Project selected is not Java 8 or Java 11' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'UnsupportedJavaVersion', result: MetadataResult.Fail, reason: javaVersion, }) @@ -140,11 +139,18 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { if (buildFile.length < 1) { const buildType = await checkIfGradle(projectPath!) vscode.window.showErrorMessage(CodeWhispererConstants.noPomXmlFoundMessage, { modal: true }) + if (buildType === 'Gradle') { + telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ + codeTransformSessionId: codeTransformTelemetryState.getSessionId(), + codeTransformPreValidationError: 'NonMavenProject', + result: MetadataResult.Fail, + reason: buildType, + }) + } telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: 'Only Maven projects supported' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'NoPom', result: MetadataResult.Fail, - reason: buildType, }) throw new ToolkitError('No valid Maven build file found', { code: 'CouldNotFindPomXml' }) } From 74654a8af7aae206013b1b88c74c6e60a2b17aa4 Mon Sep 17 00:00:00 2001 From: Nick Ardecky Date: Mon, 11 Dec 2023 15:40:16 -0800 Subject: [PATCH 3/4] Chore - remove stale import --- src/codewhisperer/service/transformByQHandler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codewhisperer/service/transformByQHandler.ts b/src/codewhisperer/service/transformByQHandler.ts index 15a4a94ff27..7bd19e761c6 100644 --- a/src/codewhisperer/service/transformByQHandler.ts +++ b/src/codewhisperer/service/transformByQHandler.ts @@ -18,7 +18,7 @@ import { spawnSync } from 'child_process' import AdmZip from 'adm-zip' import fetch from '../../common/request' import globals from '../../shared/extensionGlobals' -import { CodeTransformPreValidationError, telemetry } from '../../shared/telemetry/telemetry' +import { telemetry } from '../../shared/telemetry/telemetry' import { ToolkitError } from '../../shared/errors' import { codeTransformTelemetryState } from '../../amazonqGumby/telemetry/codeTransformTelemetryState' import { calculateTotalLatency } from '../../amazonqGumby/telemetry/codeTransformTelemetry' From 21f0b0d6ea0f7c2596da72c3cd9aa1b00c251ae8 Mon Sep 17 00:00:00 2001 From: Nick Ardecky Date: Tue, 12 Dec 2023 08:10:30 -0800 Subject: [PATCH 4/4] Chore - delete changelog sinces its only internal change --- .../Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 .changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json diff --git a/.changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json b/.changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json deleted file mode 100644 index d84e16d6109..00000000000 --- a/.changes/next-release/Bug Fix-a8d6edab-136e-4a0e-ba04-1bdd4e1a45eb.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "Bug Fix", - "description": "Fix telemetry logging for new Amazon Q Code Transform telemetry updates" -} \ No newline at end of file