Skip to content

Commit a1d52c4

Browse files
committed
wip
1 parent 988c9fb commit a1d52c4

File tree

5 files changed

+51
-8
lines changed

5 files changed

+51
-8
lines changed

src/extension.ts

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,20 +37,54 @@ export async function activate(context: ExtensionContext) {
3737
const containerStatusTracker = await createContainerStatusTracker(
3838
"localstack-main",
3939
outputChannel,
40+
timeTracker,
4041
);
4142
context.subscriptions.push(containerStatusTracker);
4243

4344
const localStackStatusTracker = await createLocalStackStatusTracker(
4445
containerStatusTracker,
4546
outputChannel,
47+
timeTracker,
4648
);
4749
context.subscriptions.push(localStackStatusTracker);
4850

49-
const setupStatusTracker = await createSetupStatusTracker(outputChannel);
51+
outputChannel.trace(`[setup-status-tracker]: Starting...`);
52+
const startStatusTracker = Date.now();
53+
const setupStatusTracker = await createSetupStatusTracker(
54+
outputChannel,
55+
timeTracker,
56+
);
57+
context.subscriptions.push(setupStatusTracker);
58+
const endStatusTracker = Date.now();
59+
outputChannel.trace(
60+
`[setup-status-tracker]: Completed in ${ms(
61+
endStatusTracker - startStatusTracker,
62+
{ long: true },
63+
)}`,
64+
);
5065

66+
const startTelemetry = Date.now();
67+
outputChannel.trace(`[telemetry]: Starting...`);
5168
const sessionId = await getOrCreateExtensionSessionId(context);
5269
const telemetry = createTelemetry(outputChannel, sessionId);
70+
const endTelemetry = Date.now();
71+
outputChannel.trace(
72+
`[telemetry]: Completed in ${ms(endTelemetry - startTelemetry, {
73+
long: true,
74+
})}`,
75+
);
76+
77+
const endDependencies = Date.now();
78+
outputChannel.trace(
79+
`[extension]: Dependencies created in ${ms(
80+
endDependencies - startDependencies,
81+
{
82+
long: true,
83+
},
84+
)}`,
85+
);
5386

87+
const startPlugins = Date.now();
5488
await plugins.activate({
5589
context,
5690
outputChannel,

src/plugins.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ export class PluginManager {
5959
for (const activate of this.plugins) {
6060
const startPlugin = Date.now();
6161
options.outputChannel.trace(
62-
`[plugin-manager]: Activating plugin "${activate.name}"...`,
62+
`[extension.plugins]: Activating plugin "${activate.name}"...`,
6363
);
6464
const deactivatable = await activate.factory(options);
6565
this.deactivatables.push(deactivatable);
6666
const endPlugin = Date.now();
6767
options.outputChannel.trace(
68-
`[plugin-manager]: Activated plugin "${activate.name}" in ${ms(
68+
`[extension.plugins]: Activated plugin "${activate.name}" in ${ms(
6969
endPlugin - startPlugin,
7070
{ long: true },
7171
)}`,

src/utils/container-status.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export async function createContainerStatusTracker(
3636
},
3737
);
3838

39-
await timeTracker.run("getContainerStatus", async () => {
39+
await timeTracker.run("container-status.getContainerStatus", async () => {
4040
await getContainerStatus(containerName).then((newStatus) => {
4141
status ??= newStatus;
4242
void emitter.emit(status);

src/utils/localstack-status.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export async function createLocalStackStatusTracker(
4949
healthCheckTimeout = setTimeout(() => void startHealthCheck(), 1_000);
5050
};
5151

52-
await timeTracker.run("healthCheck", async () => {
52+
await timeTracker.run("localstack-status.healthCheck", async () => {
5353
await startHealthCheck();
5454
});
5555

src/utils/setup-status.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import ms from "ms";
12
import type { Disposable, LogOutputChannel } from "vscode";
23

34
import { createEmitter } from "./emitter.ts";
@@ -18,8 +19,13 @@ export async function createSetupStatusTracker(
1819
outputChannel: LogOutputChannel,
1920
timeTracker: TimeTracker,
2021
): Promise<SetupStatusTracker> {
22+
const start = Date.now();
2123
let status: SetupStatus | undefined;
2224
const emitter = createEmitter<SetupStatus>(outputChannel);
25+
const end = Date.now();
26+
outputChannel.trace(
27+
`[setup-status-tracker]: Initialized dependencies in ${ms(end - start, { long: true })}`,
28+
);
2329

2430
let timeout: NodeJS.Timeout | undefined;
2531
const startChecking = async () => {
@@ -33,9 +39,12 @@ export async function createSetupStatusTracker(
3339
timeout = setTimeout(() => void startChecking(), 1_000);
3440
};
3541

36-
await timeTracker.run("checkIsSetupRequired", async () => {
37-
await startChecking();
38-
});
42+
await timeTracker.run(
43+
"setup-status-tracker.checkIsSetupRequired",
44+
async () => {
45+
await startChecking();
46+
},
47+
);
3948

4049
return {
4150
status() {

0 commit comments

Comments
 (0)