From c8647f0b6bda6ef00247aee1e0995b30d280f605 Mon Sep 17 00:00:00 2001 From: Jacob Chung Date: Thu, 13 Nov 2025 09:00:23 -0800 Subject: [PATCH] fix: emit sessionDuration --- .../jetbrains/core/credentials/ToolkitAuthManager.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ToolkitAuthManager.kt b/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ToolkitAuthManager.kt index 4dcdf299d79..c653f56a766 100644 --- a/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ToolkitAuthManager.kt +++ b/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ToolkitAuthManager.kt @@ -32,6 +32,7 @@ import software.aws.toolkits.telemetry.AuthTelemetry import software.aws.toolkits.telemetry.CredentialSourceId import software.aws.toolkits.telemetry.CredentialType import software.aws.toolkits.telemetry.Result +import java.time.Duration import java.time.Instant sealed interface ToolkitConnection { @@ -265,6 +266,7 @@ fun reauthConnectionIfNeeded( isReAuth = true, result = Result.Succeeded, source = source, + tokenProvider = tokenProvider, ) recordAddConnection( credentialSourceId = getCredentialIdForTelemetry(connection), @@ -282,6 +284,7 @@ fun reauthConnectionIfNeeded( isReAuth = true, result = result, source = source, + tokenProvider = tokenProvider, ) recordAddConnection( credentialSourceId = getCredentialIdForTelemetry(connection), @@ -371,6 +374,7 @@ private fun recordLoginWithBrowser( isReAuth: Boolean, result: Result, source: String? = null, + tokenProvider: BearerTokenProvider? = null, ) { TelemetryService.getInstance().record(null as Project?) { datum("aws_loginWithBrowser") { @@ -385,6 +389,9 @@ private fun recordLoginWithBrowser( reason?.let { metadata("reason", it) } metadata("result", result.toString()) source?.let { metadata("source", it) } + tokenProvider?.currentToken()?.let { token -> + metadata("sessionDuration", Duration.between(token.createdAt, Instant.now()).toMillis().toString()) + } } } }