Skip to content

Commit c9c8505

Browse files
authored
Amazon Q Code Transform: clean up deprecated metrics (#4860)
1 parent 340bd34 commit c9c8505

File tree

7 files changed

+12
-194
lines changed

7 files changed

+12
-194
lines changed

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

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -207,14 +207,6 @@ class ArtifactHandler(private val project: Project, private val clientAdaptor: G
207207
telemetryErrorMessage = "Unexpected error when downloading result ${e.localizedMessage}"
208208
DownloadArtifactResult.ParseZipFailure(ParseZipFailureReason(artifactType, e.message.orEmpty()))
209209
} finally {
210-
// TODO: Deprecated - remove once BI starts using new metric
211-
telemetry.jobArtifactDownloadAndDeserializeTime(
212-
downloadStartTime,
213-
job,
214-
totalDownloadBytes,
215-
telemetryErrorMessage,
216-
)
217-
218210
telemetry.downloadArtifact(mapArtifactTypes(artifactType), downloadStartTime, job, totalDownloadBytes, telemetryErrorMessage)
219211
}
220212
} catch (e: Exception) {
@@ -260,18 +252,10 @@ class ArtifactHandler(private val project: Project, private val clientAdaptor: G
260252
)
261253
dialog.isModal = true
262254

263-
// TODO: deprecated metric - remove after BI started using new metric
264-
telemetry.vcsDiffViewerVisible(jobId) // download succeeded
265255
if (dialog.showAndGet()) {
266256
telemetry.viewArtifact(CodeTransformArtifactType.ClientInstructions, jobId, "Submit", source)
267-
268-
// TODO: deprecated metric - remove after BI started using new metric
269-
telemetry.vcsViewerSubmitted(jobId)
270257
} else {
271258
telemetry.viewArtifact(CodeTransformArtifactType.ClientInstructions, jobId, "Cancel", source)
272-
273-
// TODO: deprecated metric - remove after BI started using new metric
274-
telemetry.vscViewerCancelled(jobId)
275259
}
276260
}
277261
}
@@ -385,8 +369,6 @@ class ArtifactHandler(private val project: Project, private val clientAdaptor: G
385369
}
386370

387371
fun displayDiffAction(jobId: JobId, source: CodeTransformVCSViewerSrcComponents) = runReadAction {
388-
// TODO: deprecated metric - remove after BI started using new metric
389-
telemetry.vcsViewerClicked(jobId)
390372
projectCoroutineScope(project).launch {
391373
displayDiff(jobId, source)
392374
}

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

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,6 @@ class CodeModernizerManager(private val project: Project) : PersistentStateCompo
201201

202202
val result = validateCore(project)
203203

204-
// TODO: deprecated metric - remove after BI started using new metric
205-
telemetry.sendValidationResult(result)
206-
207204
telemetry.validateProject(result)
208205

209206
return result
@@ -380,9 +377,6 @@ class CodeModernizerManager(private val project: Project) : PersistentStateCompo
380377
}
381378

382379
fun runLocalMavenBuild(project: Project, customerSelection: CustomerSelection) {
383-
// TODO: deprecated metric - remove after BI started using new metric
384-
telemetry.jobStartedCompleteFromPopupDialog(customerSelection)
385-
386380
// Create and set a session
387381
codeTransformationSession = null
388382
val session = createCodeModernizerSession(customerSelection, project)
@@ -497,7 +491,7 @@ class CodeModernizerManager(private val project: Project) : PersistentStateCompo
497491
/**
498492
* Silently try to resume the job, informs users only when job successfully resumed, suppresses exceptions.
499493
*/
500-
fun tryResumeJob(onProjectFirstOpen: Boolean = false) = projectCoroutineScope(project).launch {
494+
fun tryResumeJob() = projectCoroutineScope(project).launch {
501495
try {
502496
val notYetResumed = isResumingJob.compareAndSet(false, true)
503497
// If the job is already running, compareAndSet will return false because the expected
@@ -509,13 +503,6 @@ class CodeModernizerManager(private val project: Project) : PersistentStateCompo
509503
LOG.info { "Attempting to resume job, current state is: $managerState" }
510504
if (!managerState.flags.getOrDefault(StateFlags.IS_ONGOING, false)) return@launch
511505

512-
// Gather project details
513-
// TODO: deprecated metric - remove after BI started using new metric
514-
if (onProjectFirstOpen) {
515-
val validationResult = validate(project)
516-
telemetry.sendValidationResult(validationResult, onProjectFirstOpen)
517-
}
518-
519506
val context = managerState.toSessionContext(project)
520507
val session = CodeModernizerSession(context)
521508
val lastJobId = managerState.getLatestJobId()

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,6 @@ class CodeModernizerSession(
176176
payload = result.payload
177177
payloadSize = payload.length().toInt()
178178

179-
// TODO: deprecated metric - remove after BI started using new metric
180-
telemetry.jobCreateZipEndTime(payloadSize, startTime)
181-
182179
LOG.info { "Uploading zip file with size: $payloadSize bytes" }
183180

184181
if (payloadSize > MAX_ZIP_SIZE) {

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

Lines changed: 2 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ import software.aws.toolkits.telemetry.CodeTransformBuildCommand
2323
import software.aws.toolkits.telemetry.CodeTransformCancelSrcComponents
2424
import software.aws.toolkits.telemetry.CodeTransformJavaSourceVersionsAllowed
2525
import software.aws.toolkits.telemetry.CodeTransformJavaTargetVersionsAllowed
26-
import software.aws.toolkits.telemetry.CodeTransformMavenBuildCommand
27-
import software.aws.toolkits.telemetry.CodeTransformPatchViewerCancelSrcComponents
2826
import software.aws.toolkits.telemetry.CodeTransformPreValidationError
2927
import software.aws.toolkits.telemetry.CodeTransformVCSViewerSrcComponents
3028
import software.aws.toolkits.telemetry.CodetransformTelemetry
@@ -33,108 +31,13 @@ import java.time.Instant
3331
import java.util.Base64
3432

3533
/**
36-
* CodeModernizerTelemetry contains helper functions for common operations that require telemetry.
34+
* CodeModernizerTelemetry contains g functions for common operations that require telemetry.
3735
*/
3836
@Service(Service.Level.PROJECT)
3937
class CodeTransformTelemetryManager(private val project: Project) {
4038
private val sessionId get() = CodeTransformTelemetryState.instance.getSessionId()
4139
private val currentJobStatus get() = CodeModernizerSessionState.getInstance(project).currentJobStatus.toString()
4240

43-
/**
44-
* TODO: DEPRECATED METRICS below this comment - remove once BI starts using new metrics
45-
*/
46-
fun sendValidationResult(validationResult: ValidationResult, onProjectFirstOpen: Boolean = false) {
47-
// Old telemetry event to be fired only when users click on transform
48-
if (!validationResult.valid && !onProjectFirstOpen) {
49-
CodetransformTelemetry.isDoubleClickedToTriggerInvalidProject(
50-
codeTransformPreValidationError = validationResult.invalidTelemetryReason.category ?: CodeTransformPreValidationError.Unknown,
51-
codeTransformSessionId = sessionId,
52-
result = Result.Failed,
53-
reason = validationResult.invalidTelemetryReason.additonalInfo
54-
)
55-
}
56-
57-
val validationError = if (validationResult.valid) {
58-
null
59-
} else {
60-
validationResult.invalidTelemetryReason.category ?: CodeTransformPreValidationError.Unknown
61-
}
62-
63-
// New projectDetails metric should always be fired whether the project was valid or invalid
64-
CodetransformTelemetry.projectDetails(
65-
codeTransformSessionId = sessionId,
66-
result = if (validationResult.valid) Result.Succeeded else Result.Failed,
67-
reason = if (validationResult.valid) null else validationResult.invalidTelemetryReason.additonalInfo,
68-
codeTransformPreValidationError = validationError,
69-
codeTransformLocalJavaVersion = project.tryGetJdk().toString()
70-
)
71-
}
72-
73-
fun jobStartedCompleteFromPopupDialog(customerSelection: CustomerSelection) = CodetransformTelemetry.jobStartedCompleteFromPopupDialog(
74-
codeTransformJavaSourceVersionsAllowed = CodeTransformJavaSourceVersionsAllowed.from(customerSelection.sourceJavaVersion.name),
75-
codeTransformJavaTargetVersionsAllowed = CodeTransformJavaTargetVersionsAllowed.from(customerSelection.targetJavaVersion.name),
76-
codeTransformSessionId = sessionId,
77-
codeTransformProjectId = getProjectHash(customerSelection),
78-
)
79-
80-
fun jobCreateZipEndTime(payloadSize: Int, startTime: Instant) = CodetransformTelemetry.jobCreateZipEndTime(
81-
codeTransformTotalByteSize = payloadSize,
82-
codeTransformSessionId = sessionId,
83-
codeTransformRunTimeLatency = calculateTotalLatency(startTime, Instant.now()),
84-
)
85-
86-
fun vcsDiffViewerVisible(jobId: JobId) = CodetransformTelemetry.vcsDiffViewerVisible(
87-
codeTransformSessionId = sessionId,
88-
codeTransformJobId = jobId.id,
89-
)
90-
91-
fun vcsViewerSubmitted(jobId: JobId) = CodetransformTelemetry.vcsViewerSubmitted(
92-
codeTransformSessionId = sessionId,
93-
codeTransformJobId = jobId.id,
94-
codeTransformStatus = currentJobStatus,
95-
)
96-
97-
fun vscViewerCancelled(jobId: JobId) = CodetransformTelemetry.vcsViewerCanceled(
98-
codeTransformPatchViewerCancelSrcComponents = CodeTransformPatchViewerCancelSrcComponents.CancelButton,
99-
codeTransformSessionId = sessionId,
100-
codeTransformJobId = jobId.id,
101-
codeTransformStatus = currentJobStatus,
102-
)
103-
104-
fun vcsViewerClicked(jobId: JobId) = CodetransformTelemetry.vcsViewerClicked(
105-
codeTransformVCSViewerSrcComponents = CodeTransformVCSViewerSrcComponents.ToastNotification,
106-
codeTransformSessionId = sessionId,
107-
codeTransformJobId = jobId.id,
108-
)
109-
110-
fun jobArtifactDownloadAndDeserializeTime(downloadStartTime: Instant, jobId: JobId, totalDownloadBytes: Int, telemetryErrorMessage: String?) {
111-
CodetransformTelemetry.jobArtifactDownloadAndDeserializeTime(
112-
codeTransformSessionId = sessionId,
113-
codeTransformRunTimeLatency = calculateTotalLatency(downloadStartTime, Instant.now()),
114-
codeTransformJobId = jobId.id,
115-
codeTransformTotalByteSize = totalDownloadBytes,
116-
codeTransformRuntimeError = telemetryErrorMessage,
117-
)
118-
}
119-
120-
fun mvnBuildFailed(mavenBuildCommand: CodeTransformMavenBuildCommand, error: String) {
121-
CodetransformTelemetry.mvnBuildFailed(
122-
codeTransformSessionId = sessionId,
123-
codeTransformMavenBuildCommand = mavenBuildCommand,
124-
reason = error
125-
)
126-
}
127-
128-
fun dependenciesCopied() = CodetransformTelemetry.dependenciesCopied(codeTransformSessionId = sessionId)
129-
130-
fun jobIsStartedFromChatPrompt() {
131-
CodetransformTelemetry.jobIsStartedFromChatPrompt(codeTransformSessionId = sessionId, credentialSourceId = getAuthType(project))
132-
}
133-
134-
/**
135-
* END - DEPRECATED METRICS (below are new metrics to keep)
136-
*/
137-
13841
fun initiateTransform(telemetryErrorMessage: String? = null) {
13942
CodetransformTelemetry.initiateTransform(
14043
codeTransformSessionId = sessionId,
@@ -265,6 +168,7 @@ class CodeTransformTelemetryManager(private val project: Project) {
265168
)
266169

267170
fun totalRunTime(codeTransformResultStatusMessage: String, jobId: JobId?) = CodetransformTelemetry.totalRunTime(
171+
buildSystemVersion = getMavenVersion(project),
268172
codeTransformJobId = jobId?.toString(),
269173
codeTransformSessionId = sessionId,
270174
codeTransformResultStatusMessage = codeTransformResultStatusMessage,
@@ -273,7 +177,6 @@ class CodeTransformTelemetryManager(private val project: Project) {
273177
Instant.now()
274178
),
275179
codeTransformLocalJavaVersion = getJavaVersionFromProjectSetting(project),
276-
codeTransformLocalMavenVersion = getMavenVersion(project),
277180
)
278181

279182
fun error(errorMessage: String) = CodetransformTelemetry.logGeneralError(

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,6 @@ class CodeTransformChatController(
134134

135135
codeTransformChatHelper.chatDelayShort()
136136

137-
// TODO: deprecated metric - remove after BI started using new metric
138-
telemetry.jobIsStartedFromChatPrompt()
139-
140137
codeTransformChatHelper.addNewMessage(
141138
buildUserInputChatContent(context.project, validationResult)
142139
)

0 commit comments

Comments
 (0)