@@ -11,7 +11,6 @@ import software.amazon.awssdk.services.codewhispererruntime.model.Transformation
11
11
import software.aws.toolkits.jetbrains.services.codemodernizer.model.CustomerSelection
12
12
import software.aws.toolkits.jetbrains.services.codemodernizer.model.JobId
13
13
import software.aws.toolkits.jetbrains.services.codemodernizer.model.ValidationResult
14
- import software.aws.toolkits.jetbrains.services.codemodernizer.state.CodeModernizerSessionState
15
14
import software.aws.toolkits.jetbrains.services.codemodernizer.state.CodeTransformTelemetryState
16
15
import software.aws.toolkits.jetbrains.services.codemodernizer.utils.calculateTotalLatency
17
16
import software.aws.toolkits.jetbrains.services.codemodernizer.utils.getAuthType
@@ -24,8 +23,8 @@ import software.aws.toolkits.telemetry.CodeTransformCancelSrcComponents
24
23
import software.aws.toolkits.telemetry.CodeTransformJavaSourceVersionsAllowed
25
24
import software.aws.toolkits.telemetry.CodeTransformJavaTargetVersionsAllowed
26
25
import software.aws.toolkits.telemetry.CodeTransformPreValidationError
27
- import software.aws.toolkits.telemetry.CodeTransformVCSViewerSrcComponents
28
26
import software.aws.toolkits.telemetry.CodetransformTelemetry
27
+ import software.aws.toolkits.telemetry.MetricResult
29
28
import software.aws.toolkits.telemetry.Result
30
29
import java.time.Instant
31
30
import java.util.Base64
@@ -36,7 +35,6 @@ import java.util.Base64
36
35
@Service(Service .Level .PROJECT )
37
36
class CodeTransformTelemetryManager (private val project : Project ) {
38
37
private val sessionId get() = CodeTransformTelemetryState .instance.getSessionId()
39
- private val currentJobStatus get() = CodeModernizerSessionState .getInstance(project).currentJobStatus.toString()
40
38
41
39
fun initiateTransform (telemetryErrorMessage : String? = null) {
42
40
CodetransformTelemetry .initiateTransform(
@@ -65,13 +63,14 @@ class CodeTransformTelemetryManager(private val project: Project) {
65
63
)
66
64
}
67
65
68
- fun submitSelection (userChoice : String , customerSelection : CustomerSelection ? = null, telemetryErrorMessage : String? = null) {
66
+ fun submitSelection (userChoice : String , jobId : String? = null, customerSelection : CustomerSelection ? = null, telemetryErrorMessage : String? = null) {
69
67
CodetransformTelemetry .submitSelection(
70
- // TODO: remove below 2 lines (JavaSource / JavaTarget) once BI is updated to use source / target
68
+ // TODO: remove the below 2 lines (JavaSource / JavaTarget) once BI is updated to use source / target
71
69
codeTransformJavaSourceVersionsAllowed = CodeTransformJavaSourceVersionsAllowed .from(customerSelection?.sourceJavaVersion?.name.orEmpty()),
72
70
codeTransformJavaTargetVersionsAllowed = CodeTransformJavaTargetVersionsAllowed .from(customerSelection?.targetJavaVersion?.name.orEmpty()),
73
71
codeTransformSessionId = sessionId,
74
72
codeTransformProjectId = customerSelection?.let { getProjectHash(it) },
73
+ codeTransformJobId = jobId,
75
74
source = if (userChoice == " Confirm-Java" ) customerSelection?.sourceJavaVersion?.name.orEmpty() else customerSelection?.sourceVendor.orEmpty(),
76
75
target = if (userChoice == " Confirm-Java" ) customerSelection?.targetJavaVersion?.name.orEmpty() else customerSelection?.targetVendor.orEmpty(),
77
76
userChoice = userChoice,
@@ -128,25 +127,6 @@ class CodeTransformTelemetryManager(private val project: Project) {
128
127
)
129
128
}
130
129
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
-
150
130
fun getProjectHash (customerSelection : CustomerSelection ) = Base64 .getEncoder().encodeToString(
151
131
DigestUtils .sha256(customerSelection.configurationFile?.toNioPath()?.toAbsolutePath().toString())
152
132
)
@@ -196,12 +176,12 @@ class CodeTransformTelemetryManager(private val project: Project) {
196
176
197
177
fun logHil (jobId : String , metaData : HilTelemetryMetaData , success : Boolean , reason : String ) {
198
178
CodetransformTelemetry .humanInTheLoop(
199
- project,
200
- jobId,
201
- metaData.toString(),
202
- sessionId,
203
- reason,
204
- success,
179
+ project = project ,
180
+ codeTransformJobId = jobId,
181
+ codeTransformMetadata = metaData.toString(),
182
+ codeTransformSessionId = sessionId,
183
+ reason = reason ,
184
+ result = if ( success) MetricResult . Succeeded else MetricResult . Failed ,
205
185
)
206
186
}
207
187
0 commit comments