Skip to content

Commit 621ac8d

Browse files
author
David Hasani
committed
telemetry(amazonq): combine metrics
1 parent 5abfb19 commit 621ac8d

File tree

2 files changed

+11
-29
lines changed

2 files changed

+11
-29
lines changed

plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/ArtifactHandler.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,7 @@ class ArtifactHandler(
312312
dialog.isModal = true
313313

314314
if (dialog.showAndGet()) {
315-
telemetry.submitSelection("Submit-${diffDescription?.name}")
316-
telemetry.viewArtifact(CodeTransformArtifactType.ClientInstructions, jobId, "Submit", source)
315+
telemetry.submitSelection("Submit-${diffDescription?.name}", jobId.toString())
317316
if (diffDescription == null) {
318317
val resultContent = CodeTransformChatMessageContent(
319318
type = CodeTransformChatMessageType.PendingAnswer,
@@ -352,7 +351,7 @@ class ArtifactHandler(
352351
}
353352
}
354353
} else {
355-
telemetry.viewArtifact(CodeTransformArtifactType.ClientInstructions, jobId, "Cancel", source)
354+
telemetry.submitSelection("Cancel", jobId.toString())
356355
}
357356
}
358357
}

plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/CodeTransformTelemetryManager.kt

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import software.aws.toolkits.telemetry.CodeTransformJavaTargetVersionsAllowed
2626
import software.aws.toolkits.telemetry.CodeTransformPreValidationError
2727
import software.aws.toolkits.telemetry.CodeTransformVCSViewerSrcComponents
2828
import software.aws.toolkits.telemetry.CodetransformTelemetry
29+
import software.aws.toolkits.telemetry.MetricResult
2930
import software.aws.toolkits.telemetry.Result
3031
import java.time.Instant
3132
import java.util.Base64
@@ -65,13 +66,14 @@ class CodeTransformTelemetryManager(private val project: Project) {
6566
)
6667
}
6768

68-
fun submitSelection(userChoice: String, customerSelection: CustomerSelection? = null, telemetryErrorMessage: String? = null) {
69+
fun submitSelection(userChoice: String, jobId: String? = null, customerSelection: CustomerSelection? = null, telemetryErrorMessage: String? = null) {
6970
CodetransformTelemetry.submitSelection(
7071
// TODO: remove below 2 lines (JavaSource / JavaTarget) once BI is updated to use source / target
7172
codeTransformJavaSourceVersionsAllowed = CodeTransformJavaSourceVersionsAllowed.from(customerSelection?.sourceJavaVersion?.name.orEmpty()),
7273
codeTransformJavaTargetVersionsAllowed = CodeTransformJavaTargetVersionsAllowed.from(customerSelection?.targetJavaVersion?.name.orEmpty()),
7374
codeTransformSessionId = sessionId,
7475
codeTransformProjectId = customerSelection?.let { getProjectHash(it) },
76+
codeTransformJobId = jobId,
7577
source = if (userChoice == "Confirm-Java") customerSelection?.sourceJavaVersion?.name.orEmpty() else customerSelection?.sourceVendor.orEmpty(),
7678
target = if (userChoice == "Confirm-Java") customerSelection?.targetJavaVersion?.name.orEmpty() else customerSelection?.targetVendor.orEmpty(),
7779
userChoice = userChoice,
@@ -128,25 +130,6 @@ class CodeTransformTelemetryManager(private val project: Project) {
128130
)
129131
}
130132

131-
fun viewArtifact(
132-
artifactType: CodeTransformArtifactType,
133-
jobId: JobId,
134-
userChoice: String,
135-
source: CodeTransformVCSViewerSrcComponents,
136-
telemetryErrorMessage: String? = null,
137-
) {
138-
CodetransformTelemetry.viewArtifact(
139-
codeTransformArtifactType = artifactType,
140-
codeTransformVCSViewerSrcComponents = source,
141-
codeTransformSessionId = sessionId,
142-
codeTransformJobId = jobId.id,
143-
codeTransformStatus = currentJobStatus,
144-
userChoice = userChoice,
145-
result = if (telemetryErrorMessage.isNullOrEmpty()) Result.Succeeded else Result.Failed,
146-
reason = telemetryErrorMessage,
147-
)
148-
}
149-
150133
fun getProjectHash(customerSelection: CustomerSelection) = Base64.getEncoder().encodeToString(
151134
DigestUtils.sha256(customerSelection.configurationFile?.toNioPath()?.toAbsolutePath().toString())
152135
)
@@ -196,12 +179,12 @@ class CodeTransformTelemetryManager(private val project: Project) {
196179

197180
fun logHil(jobId: String, metaData: HilTelemetryMetaData, success: Boolean, reason: String) {
198181
CodetransformTelemetry.humanInTheLoop(
199-
project,
200-
jobId,
201-
metaData.toString(),
202-
sessionId,
203-
reason,
204-
success,
182+
project = project,
183+
codeTransformJobId = jobId,
184+
codeTransformMetadata = metaData.toString(),
185+
codeTransformSessionId = sessionId,
186+
reason = reason,
187+
result = if (success) MetricResult.Succeeded else MetricResult.Failed,
205188
)
206189
}
207190

0 commit comments

Comments
 (0)