@@ -35,7 +35,7 @@ import {
35
35
showQuickStartWebview ,
36
36
toastNewUser ,
37
37
} from './shared/extensionUtilities'
38
- import { getLogger } from './shared/logger'
38
+ import { getLogger , Logger } from './shared/logger'
39
39
import { activate as activateLogger } from './shared/logger/activation'
40
40
import { DefaultRegionProvider } from './shared/regions/defaultRegionProvider'
41
41
import { EndpointsProvider } from './shared/regions/endpointsProvider'
@@ -50,6 +50,7 @@ import {
50
50
recordAwsHelpQuickstart ,
51
51
recordAwsReportPluginIssue ,
52
52
recordAwsShowExtensionSource ,
53
+ recordToolkitInit ,
53
54
} from './shared/telemetry/telemetry'
54
55
import { ExtensionDisposableFiles } from './shared/utilities/disposableFiles'
55
56
import { getChannelLogger } from './shared/utilities/vsCodeUtils'
@@ -58,6 +59,8 @@ import { activate as activateStepFunctions } from './stepFunctions/activation'
58
59
let localize : nls . LocalizeFunc
59
60
60
61
export async function activate ( context : vscode . ExtensionContext ) {
62
+ const activationStartedOn = Date . now ( )
63
+
61
64
localize = nls . loadMessageBundle ( )
62
65
63
66
ext . context = context
@@ -194,6 +197,8 @@ export async function activate(context: vscode.ExtensionContext) {
194
197
toastNewUser ( context )
195
198
196
199
await loginWithMostRecentCredentials ( toolkitSettings , loginManager )
200
+
201
+ recordToolkitInitialization ( activationStartedOn , getLogger ( ) )
197
202
} catch ( error ) {
198
203
const channelLogger = getChannelLogger ( toolkitOutputChannel )
199
204
channelLogger . error ( 'AWS.channel.aws.toolkit.activation.error' , 'Error Activating AWS Toolkit' , error as Error )
@@ -262,6 +267,19 @@ function makeEndpointsProvider(): EndpointsProvider {
262
267
return provider
263
268
}
264
269
270
+ function recordToolkitInitialization ( activationStartedOn : number , logger ?: Logger ) {
271
+ try {
272
+ const activationFinishedOn = Date . now ( )
273
+ const duration = activationFinishedOn - activationStartedOn
274
+
275
+ recordToolkitInit ( {
276
+ duration : duration ,
277
+ } )
278
+ } catch ( err ) {
279
+ logger ?. error ( err )
280
+ }
281
+ }
282
+
265
283
// Unique extension entrypoint names, so that they can be obtained from the webpack bundle
266
284
export const awsToolkitActivate = activate
267
285
export const awsToolkitDeactivate = deactivate
0 commit comments