Skip to content

Commit becb930

Browse files
authored
telemetry(amazonq): send modifySourceFolder metric (#4473)
Send modifySourceFolder event when /dev finds that the root folder is too big for uploading and then the customer triggers the button to change the source folder.
1 parent 2af9a40 commit becb930

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ mockito = "5.11.0"
2222
mockitoKotlin = "5.2.1"
2323
mockk = "1.13.10"
2424
node-gradle = "7.0.1"
25-
telemetryGenerator = "1.0.207"
25+
telemetryGenerator = "1.0.209"
2626
testLogger = "4.0.0"
2727
testRetry = "1.5.2"
2828
# test-only; platform provides slf4j transitively at runtime. <233, 1.7.36; >=233, 2.0.9

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqFeatureDev/controller/FeatureDevController.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ import software.aws.toolkits.jetbrains.services.cwc.controller.chat.telemetry.ge
6666
import software.aws.toolkits.jetbrains.ui.feedback.FeatureDevFeedbackDialog
6767
import software.aws.toolkits.resources.message
6868
import software.aws.toolkits.telemetry.AmazonqTelemetry
69+
import software.aws.toolkits.telemetry.Result
6970
import java.util.UUID
7071

7172
class FeatureDevController(
@@ -613,18 +614,26 @@ class FeatureDevController(
613614
status = FollowUpStatusType.Info,
614615
)
615616

617+
var result: Result = Result.Failed
618+
var reason: String? = null
619+
616620
withContext(EDT) {
617621
val selectedFolder = FileChooser.chooseFile(fileChooserDescriptor, context.project, uri)
622+
623+
// No folder was selected
618624
if (selectedFolder == null) {
619625
logger.info { "Cancelled dialog and not selected any folder" }
620626

621627
messenger.sendSystemPrompt(
622628
tabId = tabId,
623629
followUp = listOf(modifyFolderFollowUp),
624630
)
631+
632+
reason = "ClosedBeforeSelection"
625633
return@withContext
626634
}
627635

636+
// The folder is not in the workspace
628637
if (selectedFolder.parent.path != uri.path) {
629638
logger.info { "Selected folder not in workspace: ${selectedFolder.path}" }
630639

@@ -638,19 +647,29 @@ class FeatureDevController(
638647
tabId = tabId,
639648
followUp = listOf(modifyFolderFollowUp),
640649
)
650+
651+
reason = "NotInWorkspaceFolder"
641652
return@withContext
642653
}
643654

644655
logger.info { "Selected correct folder inside workspace: ${selectedFolder.path}" }
645656

646657
session.context.projectRoot = selectedFolder
658+
result = Result.Succeeded
647659

648660
messenger.sendAnswer(
649661
tabId = tabId,
650662
messageType = FeatureDevMessageType.Answer,
651663
message = message("amazonqFeatureDev.follow_up.modified_source_folder", selectedFolder.path),
652664
)
653665
}
666+
667+
AmazonqTelemetry.modifySourceFolder(
668+
amazonqConversationId = session.conversationId,
669+
credentialStartUrl = getStartUrl(project = context.project),
670+
result = result,
671+
reason = reason
672+
)
654673
}
655674

656675
private fun sendFeedback() {

0 commit comments

Comments
 (0)