Skip to content

Commit b4fe4b4

Browse files
dhasani23David Hasani
andauthored
fix(amazonq): projectDetails not always emitted, add field to hold if user on Builder Id or IdC (#4663)
* fix(amazonq): fix telemetry * address comments --------- Co-authored-by: David Hasani <[email protected]>
1 parent 9c161df commit b4fe4b4

File tree

7 files changed

+119
-136
lines changed

7 files changed

+119
-136
lines changed

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4234,7 +4234,7 @@
42344234
},
42354235
"devDependencies": {
42364236
"@aws-sdk/types": "^3.13.1",
4237-
"@aws-toolkits/telemetry": "^1.0.196",
4237+
"@aws-toolkits/telemetry": "^1.0.201",
42384238
"@aws/fully-qualified-names": "^2.1.4",
42394239
"@cspotcode/source-map-support": "^0.8.1",
42404240
"@sinonjs/fake-timers": "^10.0.2",

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

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,14 @@ import {
2525
import { JDKVersion, transformByQState } from '../../../codewhisperer/models/model'
2626
import { JavaHomeNotSetError, NoJavaProjectsFoundError, NoMavenJavaProjectsFoundError } from '../../errors'
2727
import MessengerUtils, { ButtonActions, GumbyCommands } from './messenger/messengerUtils'
28-
import { TransformationCandidateProject } from '../../../codewhisperer/service/transformByQHandler'
28+
import { TransformationCandidateProject, getAuthType } from '../../../codewhisperer/service/transformByQHandler'
2929
import { CancelActionPositions } from '../../telemetry/codeTransformTelemetry'
3030
import fs from 'fs'
3131
import path from 'path'
3232
import { openUrl } from '../../../shared/utilities/vsCodeUtils'
33+
import { telemetry } from '../../../shared/telemetry/telemetry'
34+
import { MetadataResult } from '../../../shared/telemetry/telemetryClient'
35+
import { codeTransformTelemetryState } from '../../telemetry/codeTransformTelemetryState'
3336

3437
// These events can be interactions within the chat,
3538
// or elsewhere in the IDE
@@ -227,9 +230,14 @@ export class GumbyController {
227230
}
228231
}
229232

230-
// Any given project could have multiple candidate projects to transform --
231-
// The user gets prompted to pick a specific one
233+
// prompt user to pick project and specify source JDK version
232234
private async initiateTransformationOnProject(message: any) {
235+
const authType = await getAuthType()
236+
telemetry.codeTransform_jobIsStartedFromChatPrompt.emit({
237+
codeTransformSessionId: codeTransformTelemetryState.getSessionId(),
238+
credentialSourceId: authType,
239+
result: MetadataResult.Pass,
240+
})
233241
const pathToProject: string = message.formSelectedValues['GumbyTransformProjectForm']
234242
const toJDKVersion: JDKVersion = message.formSelectedValues['GumbyTransformJdkToForm']
235243
const fromJDKVersion: JDKVersion = message.formSelectedValues['GumbyTransformJdkFromForm']

packages/core/src/amazonqGumby/telemetry/codeTransformTelemetry.ts

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,8 @@
99
import {
1010
CodeTransformJavaSourceVersionsAllowed,
1111
CodeTransformJavaTargetVersionsAllowed,
12-
telemetry,
1312
} from '../../shared/telemetry/telemetry'
1413
import { JDKVersion } from '../../codewhisperer/models/model'
15-
import * as CodeWhispererConstants from '../../codewhisperer/models/constants'
16-
import { codeTransformTelemetryState } from './codeTransformTelemetryState'
17-
import { MetadataResult } from '../../shared/telemetry/telemetryClient'
1814

1915
export const telemetryUndefined = 'undefined'
2016

@@ -26,37 +22,6 @@ export enum CancelActionPositions {
2622
Chat = 'qChatPanel',
2723
}
2824

29-
export enum StartActionPositions {
30-
DevToolsSidePanel = 'devToolsStartButton',
31-
BottomHubPanel = 'bottomPanelSideNavButton',
32-
ChatPrompt = 'chatPrompt',
33-
}
34-
35-
export const logCodeTransformInitiatedMetric = (source: string): void => {
36-
const commonMetrics = {
37-
codeTransformSessionId: codeTransformTelemetryState.getSessionId(),
38-
}
39-
40-
if (source === CodeWhispererConstants.transformTreeNode) {
41-
telemetry.codeTransform_isDoubleClickedToTriggerUserModal.emit({
42-
codeTransformStartSrcComponents: StartActionPositions.DevToolsSidePanel,
43-
...commonMetrics,
44-
result: MetadataResult.Pass,
45-
})
46-
} else if (source === StartActionPositions.BottomHubPanel) {
47-
telemetry.codeTransform_isDoubleClickedToTriggerUserModal.emit({
48-
codeTransformStartSrcComponents: StartActionPositions.BottomHubPanel,
49-
...commonMetrics,
50-
result: MetadataResult.Pass,
51-
})
52-
} else if (source === StartActionPositions.ChatPrompt) {
53-
telemetry.codeTransform_jobIsStartedFromChatPrompt.emit({
54-
...commonMetrics,
55-
result: MetadataResult.Pass,
56-
})
57-
}
58-
}
59-
6025
export const JDKToTelemetryValue = (
6126
source?: JDKVersion
6227
): CodeTransformJavaSourceVersionsAllowed | CodeTransformJavaTargetVersionsAllowed | undefined => {
@@ -67,6 +32,8 @@ export const JDKToTelemetryValue = (
6732
return 'JDK_11'
6833
case JDKVersion.JDK17:
6934
return 'JDK_17'
35+
case JDKVersion.UNSUPPORTED:
36+
return 'Other'
7037
default:
7138
return undefined
7239
}

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

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -191,12 +191,6 @@ export async function preTransformationUploadCode() {
191191
} catch (err) {
192192
const errorMessage = `Failed to upload code due to ${(err as Error).message}`
193193
getLogger().error(errorMessage)
194-
telemetry.codeTransform_logGeneralError.emit({
195-
codeTransformSessionId: codeTransformTelemetryState.getSessionId(),
196-
codeTransformApiErrorMessage: errorMessage,
197-
result: MetadataResult.Fail,
198-
reason: 'UploadArchiveFailed',
199-
})
200194
throw err
201195
}
202196

@@ -212,12 +206,6 @@ export async function startTransformationJob(uploadId: string) {
212206
jobId = await startJob(uploadId)
213207
} catch (error) {
214208
const errorMessage = CodeWhispererConstants.failedToStartJobMessage
215-
telemetry.codeTransform_logGeneralError.emit({
216-
codeTransformSessionId: codeTransformTelemetryState.getSessionId(),
217-
codeTransformApiErrorMessage: errorMessage,
218-
result: MetadataResult.Fail,
219-
reason: 'StartJobFailed',
220-
})
221209
transformByQState.setJobFailureErrorMessage(errorMessage)
222210
throw new Error('Start job failed')
223211
}

0 commit comments

Comments
 (0)