Skip to content

Commit f1c4c66

Browse files
Merge master into feature/emr
2 parents 47f5535 + 5669e87 commit f1c4c66

File tree

5 files changed

+35
-16
lines changed

5 files changed

+35
-16
lines changed

package-lock.json

Lines changed: 4 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
"generateNonCodeFiles": "npm run generateNonCodeFiles -w packages/ --if-present"
4040
},
4141
"devDependencies": {
42-
"@aws-toolkits/telemetry": "^1.0.287",
42+
"@aws-toolkits/telemetry": "^1.0.289",
4343
"@playwright/browser-chromium": "^1.43.1",
4444
"@stylistic/eslint-plugin": "^2.11.0",
4545
"@types/he": "^1.2.3",

packages/core/src/codewhisperer/commands/startTransformByQ.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@ export async function preTransformationUploadCode() {
263263

264264
transformByQState.setPayloadFilePath(payloadFilePath)
265265
uploadId = await uploadPayload(payloadFilePath)
266+
telemetry.record({ codeTransformJobId: uploadId }) // uploadId is re-used as jobId
266267
})
267268
} catch (err) {
268269
const errorMessage = (err as Error).message
@@ -735,15 +736,15 @@ export async function postTransformationJob() {
735736
const mavenVersionInfoMessage = `${versionInfo[0]} (${transformByQState.getMavenName()})`
736737
const javaVersionInfoMessage = `${versionInfo[1]} (${transformByQState.getMavenName()})`
737738

738-
// Note: IntelliJ implementation of ResultStatusMessage includes additional metadata such as jobId.
739739
telemetry.codeTransform_totalRunTime.emit({
740740
buildSystemVersion: mavenVersionInfoMessage,
741741
codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(),
742+
codeTransformJobId: transformByQState.getJobId(),
742743
codeTransformResultStatusMessage: resultStatusMessage,
743744
codeTransformRunTimeLatency: durationInMs,
744745
codeTransformLocalJavaVersion: javaVersionInfoMessage,
745746
result: resultStatusMessage === TransformByQStatus.Succeeded ? MetadataResult.Pass : MetadataResult.Fail,
746-
reason: resultStatusMessage,
747+
reason: `${resultStatusMessage}-${chatMessage}`,
747748
})
748749
}
749750

@@ -825,6 +826,7 @@ export async function stopTransformByQ(jobId: string) {
825826
await telemetry.codeTransform_jobIsCancelledByUser.run(async () => {
826827
telemetry.record({
827828
codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(),
829+
codeTransformJobId: jobId,
828830
})
829831
if (transformByQState.isRunning()) {
830832
getLogger().info('CodeTransformation: User requested to stop transformation. Stopping transformation.')

packages/core/src/codewhisperer/service/transformByQ/transformationResultsViewProvider.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -536,9 +536,9 @@ export class ProposedTransformationExplorer {
536536
diffModel.saveChanges()
537537
telemetry.codeTransform_submitSelection.emit({
538538
codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(),
539+
codeTransformJobId: transformByQState.getJobId(),
539540
userChoice: `acceptChanges-${patchFilesDescriptions?.content[diffModel.currentPatchIndex].name}`,
540541
})
541-
telemetry.ui_click.emit({ elementId: 'transformationHub_acceptChanges' })
542542
if (transformByQState.getMultipleDiffs()) {
543543
void vscode.window.showInformationMessage(
544544
CodeWhispererConstants.changesAppliedNotificationMultipleDiffs(
@@ -596,7 +596,6 @@ export class ProposedTransformationExplorer {
596596
vscode.commands.registerCommand('aws.amazonq.transformationHub.reviewChanges.rejectChanges', async () => {
597597
diffModel.rejectChanges()
598598
await reset()
599-
telemetry.ui_click.emit({ elementId: 'transformationHub_rejectChanges' })
600599

601600
transformByQState.getChatControllers()?.transformationFinished.fire({
602601
tabID: ChatSessionManager.Instance.getSession().tabID,

packages/core/src/codewhisperer/util/supplementalContext/crossFileContextUtil.ts

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ import { isTestFile } from './codeParsingUtil'
1818
import { getFileDistance } from '../../../shared/filesystemUtilities'
1919
import { getOpenFilesInWindow } from '../../../shared/utilities/editorUtilities'
2020
import { getLogger } from '../../../shared/logger/logger'
21-
import { CodeWhispererSupplementalContext, CodeWhispererSupplementalContextItem } from '../../models/model'
21+
import {
22+
CodeWhispererSupplementalContext,
23+
CodeWhispererSupplementalContextItem,
24+
SupplementalContextStrategy,
25+
} from '../../models/model'
2226
import { LspController } from '../../../amazonq/lsp/lspController'
2327
import { waitUntil } from '../../../shared/utilities/timeoutUtils'
2428

@@ -75,14 +79,18 @@ export async function fetchSupplementalContextForSrc(
7579

7680
// opentabs context will use bm25 and users' open tabs to fetch supplemental context
7781
if (supplementalContextConfig === 'opentabs') {
82+
const supContext = (await fetchOpentabsContext(editor, cancellationToken)) ?? []
7883
return {
79-
supplementalContextItems: (await fetchOpentabsContext(editor, cancellationToken)) ?? [],
80-
strategy: 'opentabs',
84+
supplementalContextItems: supContext,
85+
strategy: supContext.length === 0 ? 'Empty' : 'opentabs',
8186
}
8287
}
8388

8489
// codemap will use opentabs context plus repomap if it's present
8590
if (supplementalContextConfig === 'codemap') {
91+
let strategy: SupplementalContextStrategy = 'Empty'
92+
let hasCodemap: boolean = false
93+
let hasOpentabs: boolean = false
8694
const opentabsContextAndCodemap = await waitUntil(
8795
async function () {
8896
const result: CodeWhispererSupplementalContextItem[] = []
@@ -91,20 +99,30 @@ export async function fetchSupplementalContextForSrc(
9199

92100
if (codemap && codemap.length > 0) {
93101
result.push(...codemap)
102+
hasCodemap = true
94103
}
95104

96105
if (opentabsContext && opentabsContext.length > 0) {
97106
result.push(...opentabsContext)
107+
hasOpentabs = true
98108
}
99109

100110
return result
101111
},
102112
{ timeout: supplementalContextTimeoutInMs, interval: 5, truthy: false }
103113
)
104114

115+
if (hasCodemap) {
116+
strategy = 'codemap'
117+
} else if (hasOpentabs) {
118+
strategy = 'opentabs'
119+
} else {
120+
strategy = 'Empty'
121+
}
122+
105123
return {
106124
supplementalContextItems: opentabsContextAndCodemap ?? [],
107-
strategy: 'codemap',
125+
strategy: strategy,
108126
}
109127
}
110128

@@ -133,9 +151,10 @@ export async function fetchSupplementalContextForSrc(
133151
}
134152
}
135153

154+
const supContext = opentabsContext ?? []
136155
return {
137-
supplementalContextItems: opentabsContext ?? [],
138-
strategy: 'opentabs',
156+
supplementalContextItems: supContext,
157+
strategy: supContext.length === 0 ? 'Empty' : 'opentabs',
139158
}
140159
}
141160

0 commit comments

Comments
 (0)