Skip to content

Commit cf20ef3

Browse files
authored
fix(telemetry): normalize JDK strings #4185
Problem: Telemetry is reporting different strings for Java versions. Solution: Typecast/check the strings reported against the aws-toolkit-common definitions.
1 parent b438e87 commit cf20ef3

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

src/amazonqGumby/telemetry/codeTransformTelemetry.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
* CodeTransform
77
*/
88

9-
import { telemetry } from '../../shared/telemetry/telemetry'
9+
import {
10+
CodeTransformJavaSourceVersionsAllowed,
11+
CodeTransformJavaTargetVersionsAllowed,
12+
telemetry,
13+
} from '../../shared/telemetry/telemetry'
1014
import { JDKVersion } from '../../codewhisperer/models/model'
1115
import * as CodeWhispererConstants from '../../codewhisperer/models/constants'
1216
import { codeTransformTelemetryState } from './codeTransformTelemetryState'
@@ -44,17 +48,18 @@ export const logCodeTransformInitiatedMetric = (source: string): void => {
4448
}
4549
}
4650

47-
//TODO: it would be better to expand JDKVersion from an enum to a class
48-
export const toJDKMetricValue = (source: JDKVersion): string => {
51+
export const JDKToTelemetryValue = (
52+
source: JDKVersion
53+
): CodeTransformJavaSourceVersionsAllowed | CodeTransformJavaTargetVersionsAllowed | undefined => {
4954
switch (source) {
5055
case JDKVersion.JDK8:
51-
return 'jdk8'
56+
return 'JDK_1_8'
5257
case JDKVersion.JDK11:
53-
return 'jdk11'
58+
return 'JDK_11'
5459
case JDKVersion.JDK17:
55-
return 'jdk17'
60+
return 'JDK_17'
5661
default:
57-
return ''
62+
return undefined
5863
}
5964
}
6065

src/codewhisperer/commands/startTransformByQ.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import {
3636
import { codeTransformTelemetryState } from '../../amazonqGumby/telemetry/codeTransformTelemetryState'
3737
import { ToolkitError } from '../../shared/errors'
3838
import { TransformByQUploadArchiveFailed } from '../../amazonqGumby/models/model'
39-
import { CancelActionPositions, toJDKMetricValue } from '../../amazonqGumby/telemetry/codeTransformTelemetry'
39+
import { CancelActionPositions, JDKToTelemetryValue } from '../../amazonqGumby/telemetry/codeTransformTelemetry'
4040
import { MetadataResult } from '../../shared/telemetry/telemetryClient'
4141

4242
const localize = nls.loadMessageBundle()
@@ -143,10 +143,10 @@ export async function startTransformByQ() {
143143

144144
telemetry.codeTransform_jobStartedCompleteFromPopupDialog.emit({
145145
codeTransformSessionId: codeTransformTelemetryState.getSessionId(),
146-
codeTransformJavaSourceVersionsAllowed: toJDKMetricValue(
146+
codeTransformJavaSourceVersionsAllowed: JDKToTelemetryValue(
147147
transformByQState.getSourceJDKVersion()
148148
) as CodeTransformJavaSourceVersionsAllowed,
149-
codeTransformJavaTargetVersionsAllowed: toJDKMetricValue(
149+
codeTransformJavaTargetVersionsAllowed: JDKToTelemetryValue(
150150
transformByQState.getTargetJDKVersion()
151151
) as CodeTransformJavaTargetVersionsAllowed,
152152
result: MetadataResult.Pass,

0 commit comments

Comments
 (0)