Skip to content

Commit f53816a

Browse files
committed
wip
1 parent 7e6ea8c commit f53816a

File tree

3 files changed

+63
-56
lines changed

3 files changed

+63
-56
lines changed

src/extension.ts

Lines changed: 58 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -26,71 +26,76 @@ const plugins = new PluginManager([
2626
]);
2727

2828
export async function activate(context: ExtensionContext) {
29-
const startDependencies = Date.now();
30-
3129
const outputChannel = window.createOutputChannel("LocalStack", {
3230
log: true,
3331
});
3432
context.subscriptions.push(outputChannel);
3533

36-
outputChannel.trace(`[extension]: Creating dependencies...`);
37-
3834
const timeTracker = createTimeTracker({ outputChannel });
3935

40-
const statusBarItem = window.createStatusBarItem(StatusBarAlignment.Left, -1);
41-
context.subscriptions.push(statusBarItem);
42-
statusBarItem.text = "$(loading~spin) LocalStack";
43-
statusBarItem.show();
44-
45-
const containerStatusTracker = await createContainerStatusTracker(
46-
"localstack-main",
47-
outputChannel,
48-
timeTracker,
49-
);
50-
context.subscriptions.push(containerStatusTracker);
51-
52-
const localStackStatusTracker = await createLocalStackStatusTracker(
36+
const {
5337
containerStatusTracker,
54-
outputChannel,
55-
timeTracker,
56-
);
57-
context.subscriptions.push(localStackStatusTracker);
38+
localStackStatusTracker,
39+
setupStatusTracker,
40+
statusBarItem,
41+
telemetry,
42+
} = await timeTracker.run("extension.dependencies", async () => {
43+
const statusBarItem = window.createStatusBarItem(
44+
StatusBarAlignment.Left,
45+
-1,
46+
);
47+
context.subscriptions.push(statusBarItem);
48+
statusBarItem.text = "$(loading~spin) LocalStack";
49+
statusBarItem.show();
5850

59-
outputChannel.trace(`[setup-status-tracker]: Starting...`);
60-
const startStatusTracker = Date.now();
61-
const setupStatusTracker = await createSetupStatusTracker(
62-
outputChannel,
63-
timeTracker,
64-
);
65-
context.subscriptions.push(setupStatusTracker);
66-
const endStatusTracker = Date.now();
67-
outputChannel.trace(
68-
`[setup-status-tracker]: Completed in ${ms(
69-
endStatusTracker - startStatusTracker,
70-
{ long: true },
71-
)}`,
72-
);
51+
const containerStatusTracker = await createContainerStatusTracker(
52+
"localstack-main",
53+
outputChannel,
54+
timeTracker,
55+
);
56+
context.subscriptions.push(containerStatusTracker);
7357

74-
const startTelemetry = Date.now();
75-
outputChannel.trace(`[telemetry]: Starting...`);
76-
const sessionId = await getOrCreateExtensionSessionId(context);
77-
const telemetry = createTelemetry(outputChannel, sessionId);
78-
const endTelemetry = Date.now();
79-
outputChannel.trace(
80-
`[telemetry]: Completed in ${ms(endTelemetry - startTelemetry, {
81-
long: true,
82-
})}`,
83-
);
58+
const localStackStatusTracker = await createLocalStackStatusTracker(
59+
containerStatusTracker,
60+
outputChannel,
61+
timeTracker,
62+
);
63+
context.subscriptions.push(localStackStatusTracker);
8464

85-
const endDependencies = Date.now();
86-
outputChannel.trace(
87-
`[extension]: Dependencies created in ${ms(
88-
endDependencies - startDependencies,
89-
{
65+
outputChannel.trace(`[setup-status-tracker]: Starting...`);
66+
const startStatusTracker = Date.now();
67+
const setupStatusTracker = await createSetupStatusTracker(
68+
outputChannel,
69+
timeTracker,
70+
);
71+
context.subscriptions.push(setupStatusTracker);
72+
const endStatusTracker = Date.now();
73+
outputChannel.trace(
74+
`[setup-status-tracker]: Completed in ${ms(
75+
endStatusTracker - startStatusTracker,
76+
{ long: true },
77+
)}`,
78+
);
79+
80+
const startTelemetry = Date.now();
81+
outputChannel.trace(`[telemetry]: Starting...`);
82+
const sessionId = await getOrCreateExtensionSessionId(context);
83+
const telemetry = createTelemetry(outputChannel, sessionId);
84+
const endTelemetry = Date.now();
85+
outputChannel.trace(
86+
`[telemetry]: Completed in ${ms(endTelemetry - startTelemetry, {
9087
long: true,
91-
},
92-
)}`,
93-
);
88+
})}`,
89+
);
90+
91+
return {
92+
statusBarItem,
93+
containerStatusTracker,
94+
localStackStatusTracker,
95+
setupStatusTracker,
96+
telemetry,
97+
};
98+
});
9499

95100
await timeTracker.run("extension.activatePlugins", async () => {
96101
await plugins.activate({

src/utils/container-status.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@ function listenToContainerStatus(
8181
const startListening = () => {
8282
if (isDisposed) return;
8383

84-
outputChannel.debug("Spawning 'docker events'...");
84+
outputChannel.debug(
85+
"[container-status.listenToContainerStatus] Spawning 'docker events'...",
86+
);
8587

8688
try {
8789
dockerEvents = spawn("docker", [

src/utils/time-tracker.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ export const createTimeTracker = (options: {
1919
const result = await fn();
2020
const end = Date.now();
2121
options.outputChannel.trace(
22-
`[${name}]: completed in ${timeDiff(start, end)}`,
22+
`[${name}]: Completed in ${timeDiff(start, end)}`,
2323
);
2424
return result;
2525
} catch (error) {
2626
const end = Date.now();
2727
options.outputChannel.error(
28-
`[${name}]: failed in ${timeDiff(start, end)}`,
28+
`[${name}]: Failed after ${timeDiff(start, end)}`,
2929
);
3030
throw error;
3131
}

0 commit comments

Comments
 (0)