Skip to content

Commit c6f7161

Browse files
authored
Feature - Emit additional Code Transform telemetry (#4063)
1 parent a0301d7 commit c6f7161

File tree

3 files changed

+39
-4
lines changed

3 files changed

+39
-4
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "feature",
3+
"description" : "Emit additional CodeTransform telemetry"
4+
}

jetbrains-core/src/software/aws/toolkits/jetbrains/services/codemodernizer/ArtifactHandler.kt

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import software.aws.toolkits.jetbrains.utils.notifyInfo
2727
import software.aws.toolkits.jetbrains.utils.notifyWarn
2828
import software.aws.toolkits.resources.message
2929
import software.aws.toolkits.telemetry.CodeTransformApiNames
30+
import software.aws.toolkits.telemetry.CodeTransformPatchViewerCancelSrcComponents
3031
import software.aws.toolkits.telemetry.CodeTransformVCSViewerSrcComponents
3132
import software.aws.toolkits.telemetry.CodetransformTelemetry
3233
import java.nio.file.Files
@@ -46,7 +47,7 @@ class ArtifactHandler(private val project: Project, private val clientAdaptor: G
4647
if (result.artifact == null) {
4748
notifyUnableToApplyPatch(result.zipPath)
4849
} else {
49-
displayDiffUsingPatch(result.artifact.patch)
50+
displayDiffUsingPatch(result.artifact.patch, job)
5051
}
5152
}
5253

@@ -145,7 +146,7 @@ class ArtifactHandler(private val project: Project, private val clientAdaptor: G
145146
/**
146147
* Opens the built-in patch dialog to display the diff and allowing users to apply the changes locally.
147148
*/
148-
internal fun displayDiffUsingPatch(patchFile: VirtualFile) {
149+
internal fun displayDiffUsingPatch(patchFile: VirtualFile, jobId: JobId) {
149150
runInEdt {
150151
val dialog = ApplyPatchDifferentiatedDialog(
151152
project,
@@ -159,10 +160,27 @@ class ArtifactHandler(private val project: Project, private val clientAdaptor: G
159160
null,
160161
null,
161162
null,
162-
false
163+
false,
163164
)
164165
dialog.isModal = true
165-
dialog.showAndGet()
166+
167+
CodetransformTelemetry.vcsDiffViewerVisible(
168+
codeTransformSessionId = CodeTransformTelemetryState.instance.getSessionId(),
169+
codeTransformJobId = jobId.id
170+
)
171+
172+
if (dialog.showAndGet()) {
173+
CodetransformTelemetry.vcsViewerSubmitted(
174+
codeTransformSessionId = CodeTransformTelemetryState.instance.getSessionId(),
175+
codeTransformJobId = jobId.id
176+
)
177+
} else {
178+
CodetransformTelemetry.vcsViewerCanceled(
179+
codeTransformPatchViewerCancelSrcComponents = CodeTransformPatchViewerCancelSrcComponents.CancelButton,
180+
codeTransformSessionId = CodeTransformTelemetryState.instance.getSessionId(),
181+
codeTransformJobId = jobId.id
182+
)
183+
}
166184
}
167185
}
168186

jetbrains-core/tst/software/aws/toolkits/jetbrains/services/codewhisperer/codemodernizer/CodeWhispererCodeModernizerTest.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import kotlinx.coroutines.runBlocking
1515
import org.junit.Before
1616
import org.junit.Test
1717
import org.mockito.Mockito
18+
import org.mockito.Mockito.never
1819
import org.mockito.Mockito.`when`
1920
import org.mockito.kotlin.any
2021
import org.mockito.kotlin.doNothing
@@ -94,6 +95,18 @@ class CodeWhispererCodeModernizerTest : CodeWhispererCodeModernizerTestBase() {
9495
verify(handler, times(1)).notifyUnableToApplyPatch(path)
9596
}
9697

98+
@Test
99+
fun `ArtifactHandler displays patch`() = runBlocking {
100+
val handler = spy(ArtifactHandler(project, clientAdaptorSpy))
101+
val path = testCodeModernizerArtifact.zipPath
102+
val result = DownloadArtifactResult(testCodeModernizerArtifact, path)
103+
doReturn(result).whenever(handler).downloadArtifact(any())
104+
doNothing().whenever(handler).displayDiffUsingPatch(any(), any())
105+
handler.displayDiff(jobId)
106+
verify(handler, never()).notifyUnableToApplyPatch(path)
107+
verify(handler, times(1)).displayDiffUsingPatch(testCodeModernizerArtifact.patch, jobId)
108+
}
109+
97110
@Test
98111
fun `CodeModernizerArtifact can process a valid zip file`() {
99112
val artifact = CodeModernizerArtifact.create(exampleZipPath.toAbsolutePath().toString())

0 commit comments

Comments
 (0)