Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

override fun toolWindowShown(toolWindow: ToolWindow) {
if (toolWindow.id == AmazonQToolWindowFactory.WINDOW_ID) {
TelemetryHelper.recordOpenChat()
TelemetryHelper.recordOpenChat(toolWindow.project)

Check warning on line 15 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQToolWindowListener.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQToolWindowListener.kt#L15

Added line #L15 was not covered by tests
}
}

Expand All @@ -26,7 +26,7 @@
}

if (changeType == ToolWindowManagerListener.ToolWindowManagerEventType.HideToolWindow) {
TelemetryHelper.recordCloseChat()
TelemetryHelper.recordCloseChat(toolWindow.project)

Check warning on line 29 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQToolWindowListener.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQToolWindowListener.kt#L29

Added line #L29 was not covered by tests
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
import software.aws.toolkits.core.utils.getLogger
import software.aws.toolkits.core.utils.info
import software.aws.toolkits.core.utils.warn
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnection
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
import software.aws.toolkits.jetbrains.services.codewhisperer.credentials.CodeWhispererClientAdaptor
import software.aws.toolkits.jetbrains.services.codewhisperer.customization.CodeWhispererCustomization
import software.aws.toolkits.jetbrains.services.codewhisperer.customization.CodeWhispererModelConfigurator
Expand All @@ -29,6 +32,7 @@
import software.aws.toolkits.jetbrains.settings.CodeWhispererSettings
import software.aws.toolkits.jetbrains.utils.notifyError
import software.aws.toolkits.resources.message
import software.aws.toolkits.telemetry.AuthTelemetry

Check warning on line 35 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/telemetry/TelemetryHelper.kt

View workflow job for this annotation

GitHub Actions / Qodana Community for JVM

Usage of redundant or deprecated syntax or deprecated symbols

Remove deprecated symbol import

Check warning on line 35 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/telemetry/TelemetryHelper.kt

View workflow job for this annotation

GitHub Actions / Qodana Community for JVM

Usage of redundant or deprecated syntax or deprecated symbols

'AuthTelemetry' is deprecated. Use type-safe metric builders

Check warning

Code scanning / QDJVMC

Usage of redundant or deprecated syntax or deprecated symbols Warning

Remove deprecated symbol import

Check warning

Code scanning / QDJVMC

Usage of redundant or deprecated syntax or deprecated symbols Warning

'AuthTelemetry' is deprecated. Use type-safe metric builders
import software.aws.toolkits.telemetry.CwsprChatCommandType
import software.aws.toolkits.telemetry.CwsprChatConversationType
import software.aws.toolkits.telemetry.CwsprChatInteractionType
Expand Down Expand Up @@ -410,12 +414,22 @@
companion object {
private val logger = getLogger<TelemetryHelper>()

fun recordOpenChat() {
private fun getQConnection(project: Project): ToolkitConnection? = ToolkitConnectionManager.getInstance(
project
).activeConnectionForFeature(QConnection.getInstance())

Check warning on line 419 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/telemetry/TelemetryHelper.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/telemetry/TelemetryHelper.kt#L417-L419

Added lines #L417 - L419 were not covered by tests

fun recordOpenChat(project: Project) {
Telemetry.amazonq.openChat.use { it.passive(true) }
if (getQConnection(project) == null) {
AuthTelemetry.signInPageOpened()

Check warning on line 424 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/telemetry/TelemetryHelper.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/telemetry/TelemetryHelper.kt#L424

Added line #L424 was not covered by tests

Check warning on line 424 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/telemetry/TelemetryHelper.kt

View workflow job for this annotation

GitHub Actions / Qodana Community for JVM

Usage of redundant or deprecated syntax or deprecated symbols

'AuthTelemetry' is deprecated. Use type-safe metric builders

Check warning

Code scanning / QDJVMC

Usage of redundant or deprecated syntax or deprecated symbols Warning

'AuthTelemetry' is deprecated. Use type-safe metric builders
}
Comment on lines 422 to +425
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be

Suggested change
Telemetry.amazonq.openChat.use { it.passive(true) }
if (getQConnection(project) == null) {
AuthTelemetry.signInPageOpened()
}
if (getQConnection(project) == null) {
AuthTelemetry.signInPageOpened()
} else {
Telemetry.amazonq.openChat.use { it.passive(true) }
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it looks like vsc emits these separately. openChat is ambiguously: "When user opens CWSPR chat panel".

separating these metrics would make open/close chat a little more meaningful.

}

fun recordCloseChat() {
fun recordCloseChat(project: Project) {
Telemetry.amazonq.closeChat.use { it.passive(true) }
if (getQConnection(project) == null) {
AuthTelemetry.signInPageClosed()

Check warning on line 431 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/telemetry/TelemetryHelper.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/telemetry/TelemetryHelper.kt#L431

Added line #L431 was not covered by tests

Check warning on line 431 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/telemetry/TelemetryHelper.kt

View workflow job for this annotation

GitHub Actions / Qodana Community for JVM

Usage of redundant or deprecated syntax or deprecated symbols

'AuthTelemetry' is deprecated. Use type-safe metric builders

Check warning

Code scanning / QDJVMC

Usage of redundant or deprecated syntax or deprecated symbols Warning

'AuthTelemetry' is deprecated. Use type-safe metric builders
}
}

fun recordTelemetryChatRunCommand(type: CwsprChatCommandType, name: String? = null, startUrl: String? = null) {
Expand Down
Loading