aws / aws-toolkit-vscode

@@ -121,6 +121,7 @@
Loading
121 121
        let nextToken = ''
122 122
        let errorCode = ''
123 123
        let req: codewhispererClient.ListRecommendationsRequest | codewhispererClient.GenerateRecommendationsRequest
124 +
        let shouldRecordServiceInvocation = false
124 125
125 126
        if (pagination) {
126 127
            req = EditorContext.buildListRecommendationRequest(editor as vscode.TextEditor, this.nextToken)
@@ -141,6 +142,7 @@
Loading
141 142
                const codewhispererPromise = pagination
142 143
                    ? client.listRecommendations(req)
143 144
                    : client.generateRecommendations(req)
145 +
                shouldRecordServiceInvocation = true
144 146
                const resp = await this.getServerResponse(
145 147
                    triggerType,
146 148
                    config.isManualTriggerEnabled,
@@ -217,24 +219,25 @@
Loading
217 219
            recommendation.forEach((item, index) => {
218 220
                getLogger().verbose(`[${index}]\n${item.content.trimRight()}`)
219 221
            })
220 -
221 -
            telemetry.recordCodewhispererServiceInvocation({
222 -
                codewhispererRequestId: requestId ? requestId : undefined,
223 -
                codewhispererSessionId: sessionId ? sessionId : undefined,
224 -
                codewhispererLastSuggestionIndex: this.recommendations.length - 1,
225 -
                codewhispererTriggerType: triggerType,
226 -
                codewhispererAutomatedTriggerType: autoTriggerType,
227 -
                codewhispererCompletionType:
228 -
                    invocationResult == 'Succeeded' ? TelemetryHelper.instance.completionType : undefined,
229 -
                result: invocationResult,
230 -
                duration: latency ? latency : 0,
231 -
                codewhispererLineNumber: this.startPos.line ? this.startPos.line : 0,
232 -
                codewhispererCursorOffset: TelemetryHelper.instance.cursorOffset
233 -
                    ? TelemetryHelper.instance.cursorOffset
234 -
                    : 0,
235 -
                codewhispererLanguage: languageContext.language,
236 -
                reason: reason ? reason.substring(0, 200) : undefined,
237 -
            })
222 +
            if (shouldRecordServiceInvocation) {
223 +
                telemetry.recordCodewhispererServiceInvocation({
224 +
                    codewhispererRequestId: requestId ? requestId : undefined,
225 +
                    codewhispererSessionId: sessionId ? sessionId : undefined,
226 +
                    codewhispererLastSuggestionIndex: this.recommendations.length - 1,
227 +
                    codewhispererTriggerType: triggerType,
228 +
                    codewhispererAutomatedTriggerType: autoTriggerType,
229 +
                    codewhispererCompletionType:
230 +
                        invocationResult == 'Succeeded' ? TelemetryHelper.instance.completionType : undefined,
231 +
                    result: invocationResult,
232 +
                    duration: latency ? latency : 0,
233 +
                    codewhispererLineNumber: this.startPos.line ? this.startPos.line : 0,
234 +
                    codewhispererCursorOffset: TelemetryHelper.instance.cursorOffset
235 +
                        ? TelemetryHelper.instance.cursorOffset
236 +
                        : 0,
237 +
                    codewhispererLanguage: languageContext.language,
238 +
                    reason: reason ? reason.substring(0, 200) : undefined,
239 +
                })
240 +
            }
238 241
            recommendation = recommendation.filter(r => r.content.length > 0)
239 242
240 243
            if (config.isIncludeSuggestionsWithCodeReferencesEnabled === false) {
Files Coverage
src 67.14%
Project Totals (407 files) 67.14%
2663775961
macos-unittests
2663775961
macos-unittests
2663775961
windows-unittests
2663775961
macos-unittests
2663775961
windows-unittests
1
# To validate:
2
#   cat codecov.yml | curl --data-binary @- https://codecov.io/validate
3

4
codecov:
5
    notify:
6
        require_ci_to_pass: no
7

8
coverage:
9
    precision: 2
10
    round: down
11
    range: '70...100'
12

13
    status:
14
        project:
15
            default:
16
                threshold: 1
17
                informational: true
18
        patch: no
19
        changes: no
20

21
comment: off
22

23
github_checks:
24
    annotations: false
Sunburst
The inner-most circle is the entire project, moving away from the center are folders then, finally, a single file. The size and color of each slice is representing the number of statements and the coverage, respectively.
Icicle
The top section represents the entire project. Proceeding with folders and finally individual files. The size and color of each slice is representing the number of statements and the coverage, respectively.
Grid
Each block represents a single file in the project. The size and color of each block is represented by the number of statements and the coverage, respectively.
Loading