Skip to content

Commit 456f9d2

Browse files
authored
feat(telemetry): add execution spans (#2843)
## Problem Large amounts of code duplication for tracking result/duration with telemetry. ## Solution Add execution spans that can instrument arbitrary functions.
1 parent 9b6c8b6 commit 456f9d2

File tree

99 files changed

+1284
-601
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+1284
-601
lines changed

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@
1010
"**/src/testFixtures": true
1111
},
1212
"typescript.preferences.importModuleSpecifier": "relative",
13-
"javascript.preferences.importModuleSpecifier": "relative"
13+
"javascript.preferences.importModuleSpecifier": "relative",
14+
"typescript.tsdk": "node_modules/typescript/lib"
1415
}

package-lock.json

Lines changed: 152 additions & 21 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
@@ -3196,7 +3196,7 @@
31963196
"report": "nyc report --reporter=html --reporter=json"
31973197
},
31983198
"devDependencies": {
3199-
"@aws-toolkits/telemetry": "^1.0.67",
3199+
"@aws-toolkits/telemetry": "^1.0.68",
32003200
"@cspotcode/source-map-support": "^0.8.1",
32013201
"@sinonjs/fake-timers": "^8.1.0",
32023202
"@types/adm-zip": "^0.4.34",

scripts/build/package.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ function main() {
9797
}
9898
}
9999

100-
child_process.execSync(`vsce package`)
100+
child_process.execSync(`vsce package`, { stdio: 'inherit' })
101101
} catch (e) {
102102
console.log(e)
103103
throw Error('package.ts: failed')

src/apigateway/commands/copyUrl.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { Stage } from 'aws-sdk/clients/apigateway'
1616
import { DefaultApiGatewayClient } from '../../shared/clients/apiGatewayClient'
1717
import { DEFAULT_DNS_SUFFIX, RegionProvider } from '../../shared/regions/regionProvider'
1818
import { getLogger } from '../../shared/logger'
19-
import { recordApigatewayCopyUrl } from '../../shared/telemetry/telemetry'
19+
import { telemetry } from '../../shared/telemetry/telemetry'
2020

2121
interface StageInvokeUrlQuickPick extends vscode.QuickPickItem {
2222
// override declaration so this can't be undefined
@@ -48,7 +48,7 @@ export async function copyUrlCommand(
4848
)
4949
} catch (e) {
5050
getLogger().error(`Failed to load stages: %O`, e)
51-
recordApigatewayCopyUrl({ result: 'Failed' })
51+
telemetry.apigateway_copyUrl.emit({ result: 'Failed' })
5252
return
5353
}
5454

@@ -61,12 +61,12 @@ export async function copyUrlCommand(
6161
window.showInformationMessage(
6262
localize('AWS.apig.copyUrlNoStages', "Failed to copy URL because '{0}' has no stages", node.name)
6363
)
64-
recordApigatewayCopyUrl({ result: 'Failed' })
64+
telemetry.apigateway_copyUrl.emit({ result: 'Failed' })
6565
return
6666
} else if (quickPickItems.length === 1) {
6767
const url = quickPickItems[0].detail
6868
await copyToClipboard(url, 'URL')
69-
recordApigatewayCopyUrl({ result: 'Succeeded' })
69+
telemetry.apigateway_copyUrl.emit({ result: 'Succeeded' })
7070
return
7171
}
7272

@@ -89,13 +89,13 @@ export async function copyUrlCommand(
8989
const pickerResponse = picker.verifySinglePickerOutput<StageInvokeUrlQuickPick>(choices)
9090

9191
if (!pickerResponse) {
92-
recordApigatewayCopyUrl({ result: 'Cancelled' })
92+
telemetry.apigateway_copyUrl.emit({ result: 'Cancelled' })
9393
return
9494
}
9595

9696
const url = pickerResponse.detail
9797
await copyToClipboard(url, 'URL')
98-
recordApigatewayCopyUrl({ result: 'Succeeded' })
98+
telemetry.apigateway_copyUrl.emit({ result: 'Succeeded' })
9999
}
100100

101101
export function buildDefaultApiInvokeUrl(apiId: string, region: string, dnsSuffix: string, stage: string): string {

0 commit comments

Comments
 (0)