Skip to content

Commit 4324c90

Browse files
authored
fix: add requestIds for each LLM call for amazonq_addMessage metric (#1338)
1 parent a592b8b commit 4324c90

File tree

5 files changed

+14
-0
lines changed

5 files changed

+14
-0
lines changed

server/aws-lsp-codewhisperer/src/language-server/agenticChat/agenticChatController.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,12 @@ export class AgenticChatController implements ChatHandlers {
578578
// Phase 3: Request Execution
579579
this.#truncateRequest(currentRequestInput)
580580
const response = await session.generateAssistantResponse(currentRequestInput)
581+
582+
if (response.$metadata.requestId) {
583+
metric.mergeWith({
584+
requestIds: [response.$metadata.requestId],
585+
})
586+
}
581587
this.#features.logging.info(
582588
`generateAssistantResponse ResponseMetadata: ${loggingUtils.formatObj(response.$metadata)}`
583589
)
@@ -665,6 +671,7 @@ export class AgenticChatController implements ChatHandlers {
665671
shouldDisplayMessage = false
666672
}
667673
metric.setDimension('cwsprChatConversationType', 'AgenticChatWithToolUse')
674+
metric.setDimension('requestIds', metric.metric.requestIds)
668675
} else {
669676
// Send an error card to UI?
670677
toolResults = pendingToolUses.map(toolUse => ({

server/aws-lsp-codewhisperer/src/language-server/chat/telemetry/chatTelemetryController.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ export class ChatTelemetryController {
242242
cwsprChatCodeContextCount: metric.cwsprChatCodeContextCount,
243243
cwsprChatFocusFileContextLength: metric.cwsprChatFocusFileContextLength,
244244
languageServerVersion: metric.languageServerVersion,
245+
requestIds: metric.requestIds,
245246
}
246247
)
247248
}

server/aws-lsp-codewhisperer/src/shared/telemetry/telemetryService.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -801,6 +801,7 @@ describe('TelemetryService', () => {
801801
codewhispererCustomizationArn: 'cust-123',
802802
result: 'Succeeded',
803803
languageServerVersion: undefined,
804+
requestIds: undefined,
804805
cwsprChatHasContextList: true,
805806
cwsprChatFolderContextCount: 0,
806807
cwsprChatFileContextCount: 0,

server/aws-lsp-codewhisperer/src/shared/telemetry/telemetryService.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,12 +457,15 @@ export class TelemetryService {
457457
cwsprChatCodeContextLength: number
458458
cwsprChatFocusFileContextLength: number
459459
languageServerVersion?: string
460+
requestIds?: string[]
460461
}>
461462
) {
462463
if (!params.conversationId || !params.messageId) {
463464
return
464465
}
465466
const timeBetweenChunks = params.timeBetweenChunks?.slice(0, 100)
467+
// truncate requestIds if longer than 875 so it does not go over field limit
468+
const truncatedRequestIds = additionalParams.requestIds?.slice(0, 875)
466469

467470
if (this.enableTelemetryEventsToDestination) {
468471
this.telemetry.emitMetric({
@@ -502,6 +505,7 @@ export class TelemetryService {
502505
cwsprChatCodeContextLength: additionalParams.cwsprChatCodeContextLength,
503506
result: 'Succeeded',
504507
languageServerVersion: additionalParams.languageServerVersion,
508+
requestIds: truncatedRequestIds,
505509
},
506510
})
507511
}

server/aws-lsp-codewhisperer/src/shared/telemetry/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@ export type AddMessageEvent = {
250250
cwsprChatConversationType: ChatConversationType
251251
codewhispererCustomizationArn?: string
252252
languageServerVersion?: string
253+
requestIds?: string[]
253254

254255
// context related metrics
255256
cwsprChatHasContextList?: boolean

0 commit comments

Comments
 (0)