Skip to content

Commit 5ebc004

Browse files
committed
chore: improve logging around extension starting and stopping
1 parent f3bcbca commit 5ebc004

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

src/extension.ts

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,18 @@ import { getMemoryLogger } from "./memoryLogger"
1515

1616
export async function activate(ctx: vscode.ExtensionContext): Promise<void> {
1717
// Initialize the memory logger right when the extension starts.
18-
getMemoryLogger();
18+
const logger = getMemoryLogger();
19+
await logger.initLogFile(ctx.globalStorageUri.fsPath)
20+
21+
// Log initial memory usage and activation
22+
logger.info("CODER extension activating")
23+
logger.logMemoryUsage("EXTENSION_ACTIVATE")
24+
25+
// Register disposal of the logger when the extension deactivates
26+
ctx.subscriptions.push({ dispose: () => logger.dispose() })
27+
28+
// Log extension mode
29+
logger.info(`Extension mode: ${extensionModeToString(ctx.extensionMode)}`);
1930

2031
// The Remote SSH extension's proposed APIs are used to override the SSH host
2132
// name in VS Code itself. It's visually unappealing having a lengthy name!
@@ -29,9 +40,13 @@ export async function activate(ctx: vscode.ExtensionContext): Promise<void> {
2940
vscode.extensions.getExtension("codeium.windsurf-remote-openssh") ||
3041
vscode.extensions.getExtension("ms-vscode-remote.remote-ssh")
3142
if (!remoteSSHExtension) {
43+
logger.error("Remote SSH extension not found, cannot activate Coder extension")
3244
vscode.window.showErrorMessage("Remote SSH extension not found, cannot activate Coder extension")
3345
throw new Error("Remote SSH extension not found")
3446
}
47+
48+
logger.info(`Found Remote SSH extension: ${remoteSSHExtension.id}`);
49+
3550
// eslint-disable-next-line @typescript-eslint/no-explicit-any
3651
const vscodeProposed: typeof vscode = (module as any)._load(
3752
"vscode",
@@ -229,4 +244,26 @@ export async function activate(ctx: vscode.ExtensionContext): Promise<void> {
229244
}
230245
}
231246
}
247+
248+
logger.info("Coder extension activation complete")
249+
}
250+
251+
function extensionModeToString(mode: vscode.ExtensionMode): string {
252+
switch (mode) {
253+
case vscode.ExtensionMode.Development:
254+
return "Development";
255+
case vscode.ExtensionMode.Production:
256+
return "Production";
257+
case vscode.ExtensionMode.Test:
258+
return "Test";
259+
default:
260+
return `Unknown (${mode})`;
261+
}
232262
}
263+
264+
// Add deactivation handler to log memory usage on extension shutdown
265+
export function deactivate(): void {
266+
const logger = getMemoryLogger();
267+
logger.info("Coder extension deactivating");
268+
logger.logMemoryUsage("EXTENSION_DEACTIVATE");
269+
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy