1+ import ms from "ms" ;
12import { StatusBarAlignment , window } from "vscode" ;
23import type { ExtensionContext } from "vscode" ;
34
@@ -13,6 +14,7 @@ import { createLocalStackStatusTracker } from "./utils/localstack-status.ts";
1314import { getOrCreateExtensionSessionId } from "./utils/manage.ts" ;
1415import { createSetupStatusTracker } from "./utils/setup-status.ts" ;
1516import { createTelemetry } from "./utils/telemetry.ts" ;
17+ import { createTimeTracker } from "./utils/time-tracker.ts" ;
1618
1719const plugins = new PluginManager ( [
1820 setup ,
@@ -24,11 +26,17 @@ const plugins = new PluginManager([
2426] ) ;
2527
2628export async function activate ( context : ExtensionContext ) {
29+ const startDependencies = Date . now ( ) ;
30+
2731 const outputChannel = window . createOutputChannel ( "LocalStack" , {
2832 log : true ,
2933 } ) ;
3034 context . subscriptions . push ( outputChannel ) ;
3135
36+ outputChannel . trace ( `[extension]: Creating dependencies...` ) ;
37+
38+ const timeTracker = createTimeTracker ( { outputChannel } ) ;
39+
3240 const statusBarItem = window . createStatusBarItem ( StatusBarAlignment . Left , - 1 ) ;
3341 context . subscriptions . push ( statusBarItem ) ;
3442 statusBarItem . text = "$(loading~spin) LocalStack" ;
@@ -93,7 +101,12 @@ export async function activate(context: ExtensionContext) {
93101 localStackStatusTracker,
94102 setupStatusTracker,
95103 telemetry,
104+ timeTracker,
96105 } ) ;
106+ const endPlugins = Date . now ( ) ;
107+ outputChannel . trace (
108+ `[extension]: Plugins activated in ${ ms ( endPlugins - startPlugins , { long : true } ) } ` ,
109+ ) ;
97110}
98111
99112export async function deactivate ( ) {
0 commit comments