Skip to content

Commit 143b29e

Browse files
authored
feat: add modifySourceFolder telemetry event when customer modifies deafult source folderwhile using /dev (#4986)
1 parent 68d2e3b commit 143b29e

File tree

4 files changed

+19
-13
lines changed

4 files changed

+19
-13
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
@@ -3984,7 +3984,7 @@
39843984
},
39853985
"devDependencies": {
39863986
"@aws-sdk/types": "^3.13.1",
3987-
"@aws-toolkits/telemetry": "^1.0.205",
3987+
"@aws-toolkits/telemetry": "^1.0.208",
39883988
"@aws/fully-qualified-names": "^2.1.4",
39893989
"@cspotcode/source-map-support": "^0.8.1",
39903990
"@sinonjs/fake-timers": "^10.0.2",

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

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,8 @@ export class FeatureDevController {
614614
canSelectFiles: false,
615615
}).prompt()
616616

617+
let metricData: { result: 'Succeeded' } | { result: 'Failed'; reason: string } | undefined
618+
617619
if (!(uri instanceof vscode.Uri)) {
618620
this.messenger.sendAnswer({
619621
tabID: message.tabID,
@@ -626,10 +628,8 @@ export class FeatureDevController {
626628
},
627629
],
628630
})
629-
return
630-
}
631-
632-
if (uri instanceof vscode.Uri && !vscode.workspace.getWorkspaceFolder(uri)) {
631+
metricData = { result: 'Failed', reason: 'ClosedBeforeSelection' }
632+
} else if (!vscode.workspace.getWorkspaceFolder(uri)) {
633633
this.messenger.sendAnswer({
634634
tabID: message.tabID,
635635
type: 'answer',
@@ -646,17 +646,22 @@ export class FeatureDevController {
646646
},
647647
],
648648
})
649-
return
650-
}
651-
652-
if (uri && uri instanceof vscode.Uri) {
649+
metricData = { result: 'Failed', reason: 'NotInWorkspaceFolder' }
650+
} else {
653651
session.updateWorkspaceRoot(uri.fsPath)
652+
metricData = { result: 'Succeeded' }
654653
this.messenger.sendAnswer({
655654
message: `Changed source root to: ${uri.fsPath}`,
656655
type: 'answer',
657656
tabID: message.tabID,
658657
})
659658
}
659+
660+
telemetry.amazonq_modifySourceFolder.emit({
661+
credentialStartUrl: AuthUtil.instance.startUrl,
662+
amazonqConversationId: session.conversationId,
663+
...metricData,
664+
})
660665
}
661666

662667
private initialExamples(message: any) {

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ describe('Controller', () => {
184184
}
185185

186186
it('fails if selected folder is not under a workspace folder', async () => {
187+
sinon.stub(controllerSetup.sessionStorage, 'getSession').resolves(session)
187188
sinon.stub(vscode.workspace, 'getWorkspaceFolder').returns(undefined)
188189
const messengerSpy = sinon.spy(controllerSetup.messenger, 'sendAnswer')
189190
await modifyDefaultSourceFolder('../../')

0 commit comments

Comments
 (0)