Skip to content

Commit 503b027

Browse files
committed
debug message id
1 parent b6cf377 commit 503b027

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/messenger/ChatPromptHandler.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import kotlinx.coroutines.flow.onStart
1111
import software.amazon.awssdk.awscore.exception.AwsServiceException
1212
import software.amazon.awssdk.services.codewhispererstreaming.model.CodeWhispererStreamingException
1313
import software.aws.toolkits.core.utils.convertMarkdownToHTML
14+
import software.aws.toolkits.jetbrains.services.codewhisperer.settings.CodeWhispererSettings
1415
import software.aws.toolkits.jetbrains.services.cwc.clients.chat.exceptions.ChatApiException
1516
import software.aws.toolkits.jetbrains.services.cwc.clients.chat.model.ChatRequestData
1617
import software.aws.toolkits.jetbrains.services.cwc.clients.chat.model.ChatResponseEvent
@@ -54,12 +55,12 @@ class ChatPromptHandler(private val telemetryHelper: TelemetryHelper) {
5455
shouldAddIndexInProgressMessage: Boolean
5556
) = flow {
5657
val session = sessionInfo.session
58+
val hasProjectContext = telemetryHelper.getIsProjectContextEnabled() && data.useRelevantDocuments && data.relevantTextDocuments.isNotEmpty()
5759
session.chat(data)
5860
.onStart {
5961
// The first thing we always send back is an AnswerStream message to indicate the beginning of a streaming answer
6062
val response =
6163
ChatMessage(tabId = tabId, triggerId = triggerId, messageId = requestId, messageType = ChatMessageType.AnswerStream, message = "")
62-
6364
telemetryHelper.setResponseStreamStartTime(tabId)
6465
emit(response)
6566
}
@@ -88,9 +89,8 @@ class ChatPromptHandler(private val telemetryHelper: TelemetryHelper) {
8889
// Send the Answer message to indicate the end of the response stream
8990
val response =
9091
ChatMessage(tabId = tabId, triggerId = triggerId, messageId = requestId, messageType = ChatMessageType.Answer, followUps = followUps)
91-
9292
telemetryHelper.setResponseStreamTotalTime(tabId)
93-
telemetryHelper.setResponseHasProjectContext(data, response)
93+
telemetryHelper.setResponseHasProjectContext(requestId, hasProjectContext)
9494
telemetryHelper.recordAddMessage(data, response, responseText.length, statusCode, countTotalNumberOfCodeBlocks(responseText))
9595
emit(response)
9696
}
@@ -116,14 +116,14 @@ class ChatPromptHandler(private val telemetryHelper: TelemetryHelper) {
116116
}
117117
}
118118
.collect { responseEvent ->
119-
processChatEvent(tabId, triggerId, responseEvent, shouldAddIndexInProgressMessage)?.let { emit(it) }
119+
processChatEvent(tabId, triggerId, responseEvent, shouldAddIndexInProgressMessage, hasProjectContext)?.let { emit(it) }
120120
}
121121
}
122122

123-
private fun processChatEvent(tabId: String, triggerId: String, event: ChatResponseEvent, shouldAddIndexInProgressMessage: Boolean): ChatMessage? {
123+
private fun processChatEvent(tabId: String, triggerId: String, event: ChatResponseEvent, shouldAddIndexInProgressMessage: Boolean, hasProjectContext: Boolean): ChatMessage? {
124124
requestId = event.requestId
125125
statusCode = event.statusCode
126-
126+
telemetryHelper.setResponseHasProjectContext(requestId, hasProjectContext)
127127
if (event.codeReferences != null) {
128128
codeReferences += event.codeReferences.map { reference ->
129129
CodeReference(

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class TelemetryHelper(private val context: AmazonQAppInitContext, private val se
6666
TriggerType.ContextMenu, TriggerType.Hotkeys -> CwsprChatTriggerInteraction.ContextMenu
6767
}
6868

69-
private fun getIsProjectContextEnabled() = CodeWhispererSettings.getInstance().isProjectContextEnabled()
69+
fun getIsProjectContextEnabled() = CodeWhispererSettings.getInstance().isProjectContextEnabled()
7070

7171
// When chat panel is focused
7272
fun recordEnterFocusChat() {
@@ -369,11 +369,13 @@ class TelemetryHelper(private val context: AmazonQAppInitContext, private val se
369369
responseStreamTotalTime[tabId] = totalTime
370370
}
371371

372-
fun setResponseHasProjectContext(data: ChatRequestData, response: ChatMessage) {
373-
responseHasProjectContext[response.messageId] = getIsProjectContextEnabled() && data.useRelevantDocuments && data.relevantTextDocuments.isNotEmpty()
372+
fun setResponseHasProjectContext(messageId: String, hasProjectContext: Boolean) {
373+
responseHasProjectContext[messageId] = hasProjectContext
374+
logger.info("Set $messageId to ${responseHasProjectContext[messageId]}")
374375
}
375376

376-
fun getMessageHasProjectContext(messageId: String): Boolean {
377+
private fun getMessageHasProjectContext(messageId: String): Boolean {
378+
logger.info("Get $messageId = ${responseHasProjectContext.getOrDefault(messageId, false)}")
377379
return responseHasProjectContext.getOrDefault(messageId, false)
378380
}
379381

0 commit comments

Comments
 (0)