diff --git a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/credentials/CodeWhispererClientAdaptor.kt b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/credentials/CodeWhispererClientAdaptor.kt index 9d638fc60ae..f81e18a56a8 100644 --- a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/credentials/CodeWhispererClientAdaptor.kt +++ b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/credentials/CodeWhispererClientAdaptor.kt @@ -7,6 +7,7 @@ import com.intellij.openapi.Disposable import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.components.service import com.intellij.openapi.project.Project +import com.intellij.util.text.nullize import software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider import software.amazon.awssdk.services.codewhisperer.CodeWhispererClient import software.amazon.awssdk.services.codewhisperer.model.CreateCodeScanRequest @@ -146,7 +147,7 @@ interface CodeWhispererClientAdaptor : Disposable { sessionId: String, requestId: String, language: CodeWhispererProgrammingLanguage, - customizationArn: String, + customizationArn: String?, acceptedCharacterCount: Int, unmodifiedAcceptedTokenCount: Int, ): SendTelemetryEventResponse @@ -427,7 +428,7 @@ open class CodeWhispererClientAdaptorImpl(override val project: Project) : CodeW it.timestamp(Instant.now()) it.suggestionReferenceCount(suggestionReferenceCount) it.generatedLine(lineCount) - it.customizationArn(requestContext.customizationArn) + it.customizationArn(requestContext.customizationArn.nullize(nullizeSpaces = true)) it.numberOfRecommendations(numberOfRecommendations) it.acceptedCharacterCount(acceptedCharCount) } @@ -473,7 +474,7 @@ open class CodeWhispererClientAdaptorImpl(override val project: Project) : CodeW it.timestamp(Instant.now()) it.suggestionReferenceCount(suggestionReferenceCount) it.generatedLine(lineCount) - it.customizationArn(requestContext.customizationArn) + it.customizationArn(requestContext.customizationArn.nullize(nullizeSpaces = true)) it.numberOfRecommendations(numberOfRecommendations) it.acceptedCharacterCount(acceptedCharCount) } @@ -495,7 +496,7 @@ open class CodeWhispererClientAdaptorImpl(override val project: Project) : CodeW requestBuilder.telemetryEvent { telemetryEventBuilder -> telemetryEventBuilder.codeCoverageEvent { it.programmingLanguage { languageBuilder -> languageBuilder.languageName(language.toCodeWhispererRuntimeLanguage().languageId) } - it.customizationArn(customizationArn) + it.customizationArn(customizationArn.nullize(nullizeSpaces = true)) it.acceptedCharacterCount(acceptedTokenCount.toInt()) it.totalCharacterCount(totalTokenCount.toInt()) it.timestamp(Instant.now()) @@ -512,7 +513,7 @@ open class CodeWhispererClientAdaptorImpl(override val project: Project) : CodeW sessionId: String, requestId: String, language: CodeWhispererProgrammingLanguage, - customizationArn: String, + customizationArn: String?, acceptedCharacterCount: Int, unmodifiedAcceptedTokenCount: Int, ): SendTelemetryEventResponse = bearerClient().sendTelemetryEvent { requestBuilder -> @@ -523,7 +524,7 @@ open class CodeWhispererClientAdaptorImpl(override val project: Project) : CodeW it.programmingLanguage { languageBuilder -> languageBuilder.languageName(language.toCodeWhispererRuntimeLanguage().languageId) } - it.customizationArn(customizationArn) + it.customizationArn(customizationArn.nullize(nullizeSpaces = true)) // deprecated field, service side should not use this % anymore it.modificationPercentage(0.0) it.timestamp(Instant.now()) @@ -760,9 +761,7 @@ open class CodeWhispererClientAdaptorImpl(override val project: Project) : CodeW it.responseLength(responseLength) it.numberOfCodeBlocks(numberOfCodeBlocks) it.hasProjectLevelContext(hasProjectLevelContext) - customization?.arn?.let { arn -> - it.customizationArn(arn) - } + it.customizationArn(customization?.arn.nullize(nullizeSpaces = true)) } } requestBuilder.optOutPreference(getTelemetryOptOutPreference()) @@ -815,9 +814,7 @@ open class CodeWhispererClientAdaptorImpl(override val project: Project) : CodeW } it.modificationPercentage(modificationPercentage) it.hasProjectLevelContext(hasProjectLevelContext) - customization?.arn?.let { arn -> - it.customizationArn(arn) - } + it.customizationArn(customization?.arn.nullize(nullizeSpaces = true)) } } requestBuilder.optOutPreference(getTelemetryOptOutPreference()) diff --git a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/telemetry/CodeWhispererUserModificationTracker.kt b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/telemetry/CodeWhispererUserModificationTracker.kt index 7b4e911138b..2df4d73db5a 100644 --- a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/telemetry/CodeWhispererUserModificationTracker.kt +++ b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/telemetry/CodeWhispererUserModificationTracker.kt @@ -265,7 +265,7 @@ class CodeWhispererUserModificationTracker(private val project: Project) : Dispo suggestion.sessionId, suggestion.requestId, CodeWhispererLanguageManager.getInstance().getLanguage(suggestion.vFile), - CodeWhispererModelConfigurator.getInstance().activeCustomization(project)?.arn.orEmpty(), + CodeWhispererModelConfigurator.getInstance().activeCustomization(project)?.arn, suggestion.suggestion.length, getUnmodifiedAcceptedCharsCount(suggestion.suggestion, modifiedSuggestion) )