Skip to content

Commit 6ab41ba

Browse files
authored
telemetry(Amazon Q Code Transform): move metric earlier in transformation flow aws#5032
Problem `jobStartedCompleteFromPopupDialog` telemetry was supposed to signify one of the first events happening in the transform flow: ``` A validated job was started but we have not yet compiled using Maven. ``` However currently its emitted after `mvn clean install`, this is wrong. Solution Move the `jobStartedCompleteFromPopupDialog` telemetry after the `prevalidation` is finished but before the `mvn clean install`.
1 parent 3b0f88d commit 6ab41ba

File tree

2 files changed

+22
-34
lines changed

2 files changed

+22
-34
lines changed

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

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,18 @@ import {
3838
} from '../../errors'
3939
import * as CodeWhispererConstants from '../../../codewhisperer/models/constants'
4040
import MessengerUtils, { ButtonActions, GumbyCommands } from './messenger/messengerUtils'
41-
import { CancelActionPositions, JDKToTelemetryValue } from '../../telemetry/codeTransformTelemetry'
41+
import { CancelActionPositions, JDKToTelemetryValue, telemetryUndefined } from '../../telemetry/codeTransformTelemetry'
4242
import { openUrl } from '../../../shared/utilities/vsCodeUtils'
43-
import { telemetry, CodeTransformJavaSourceVersionsAllowed } from '../../../shared/telemetry/telemetry'
43+
import {
44+
telemetry,
45+
CodeTransformJavaTargetVersionsAllowed,
46+
CodeTransformJavaSourceVersionsAllowed,
47+
} from '../../../shared/telemetry/telemetry'
4448
import { MetadataResult } from '../../../shared/telemetry/telemetryClient'
4549
import { CodeTransformTelemetryState } from '../../telemetry/codeTransformTelemetryState'
4650
import { getAuthType } from '../../../codewhisperer/service/transformByQ/transformApiHandler'
4751
import DependencyVersions from '../../models/dependencies'
48-
52+
import { getStringHash } from '../../../shared/utilities/textUtilities'
4953
// These events can be interactions within the chat,
5054
// or elsewhere in the IDE
5155
export interface ChatControllerEventEmitters {
@@ -324,6 +328,18 @@ export class GumbyController {
324328
)
325329
}
326330

331+
const projectPath = transformByQState.getProjectPath()
332+
telemetry.codeTransform_jobStartedCompleteFromPopupDialog.emit({
333+
codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(),
334+
codeTransformJavaSourceVersionsAllowed: JDKToTelemetryValue(
335+
transformByQState.getSourceJDKVersion()!
336+
) as CodeTransformJavaSourceVersionsAllowed,
337+
codeTransformJavaTargetVersionsAllowed: JDKToTelemetryValue(
338+
transformByQState.getTargetJDKVersion()
339+
) as CodeTransformJavaTargetVersionsAllowed,
340+
codeTransformProjectId: projectPath === undefined ? telemetryUndefined : getStringHash(projectPath),
341+
result: MetadataResult.Pass,
342+
})
327343
try {
328344
this.sessionStorage.getSession().conversationState = ConversationState.COMPILING
329345
this.messenger.sendCompilationInProgress(message.tabID)

packages/core/src/codewhisperer/commands/startTransformByQ.ts

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
ZipManifest,
2020
TransformByQStatus,
2121
} from '../models/model'
22-
import { convertDateToTimestamp, getStringHash } from '../../shared/utilities/textUtilities'
22+
import { convertDateToTimestamp } from '../../shared/utilities/textUtilities'
2323
import {
2424
createZipManifest,
2525
downloadHilResultArchive,
@@ -42,19 +42,9 @@ import {
4242
prepareProjectDependencies,
4343
runMavenDependencyUpdateCommands,
4444
} from '../service/transformByQ/transformMavenHandler'
45-
import {
46-
CodeTransformCancelSrcComponents,
47-
CodeTransformJavaSourceVersionsAllowed,
48-
CodeTransformJavaTargetVersionsAllowed,
49-
telemetry,
50-
} from '../../shared/telemetry/telemetry'
45+
import { CodeTransformCancelSrcComponents, telemetry } from '../../shared/telemetry/telemetry'
5146
import { CodeTransformTelemetryState } from '../../amazonqGumby/telemetry/codeTransformTelemetryState'
52-
import {
53-
CancelActionPositions,
54-
JDKToTelemetryValue,
55-
calculateTotalLatency,
56-
telemetryUndefined,
57-
} from '../../amazonqGumby/telemetry/codeTransformTelemetry'
47+
import { CancelActionPositions, calculateTotalLatency } from '../../amazonqGumby/telemetry/codeTransformTelemetry'
5848
import { MetadataResult } from '../../shared/telemetry/telemetryClient'
5949
import { submitFeedback } from '../../feedback/vue/submitFeedback'
6050
import { placeholder } from '../../shared/vscode/commands2'
@@ -598,24 +588,6 @@ export async function setTransformationToRunningState() {
598588
convertDateToTimestamp(new Date(CodeTransformTelemetryState.instance.getStartTime()))
599589
)
600590

601-
const projectPath = transformByQState.getProjectPath()
602-
let projectId = telemetryUndefined
603-
if (projectPath !== undefined) {
604-
projectId = getStringHash(projectPath)
605-
}
606-
607-
telemetry.codeTransform_jobStartedCompleteFromPopupDialog.emit({
608-
codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(),
609-
codeTransformJavaSourceVersionsAllowed: JDKToTelemetryValue(
610-
transformByQState.getSourceJDKVersion()!
611-
) as CodeTransformJavaSourceVersionsAllowed,
612-
codeTransformJavaTargetVersionsAllowed: JDKToTelemetryValue(
613-
transformByQState.getTargetJDKVersion()
614-
) as CodeTransformJavaTargetVersionsAllowed,
615-
codeTransformProjectId: projectId,
616-
result: MetadataResult.Pass,
617-
})
618-
619591
await vscode.commands.executeCommand('workbench.view.extension.aws-codewhisperer-transformation-hub')
620592
}
621593

0 commit comments

Comments
 (0)