From 8f35aa792c53c960ff4cbaf9f0acefc9f986cf3f Mon Sep 17 00:00:00 2001 From: Saahil Date: Sat, 4 Jan 2025 23:16:07 -0500 Subject: [PATCH] fix: debug + mem stats --- package.json | 3 +++ src/index.ts | 2 ++ src/modules/memwatch.ts | 16 ++++++++++++++++ src/modules/parseShipments.ts | 2 +- 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/modules/memwatch.ts diff --git a/package.json b/package.json index d4d1336..9a4b0a6 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,9 @@ "stegcloak": "^1.1.1", "ws": "^8.18.0" }, + "optionalDependencies": { + "memwatch-next": "latest" + }, "devDependencies": { "@types/node": "^22.7.4", "canvas": "^2.11.2", diff --git a/src/index.ts b/src/index.ts index d41ad96..292b081 100644 --- a/src/index.ts +++ b/src/index.ts @@ -23,6 +23,7 @@ import { watchForWhenIUseHacktime } from "./modules/hacktime"; import { EncryptedJsonDb } from "./modules/encrypted-db"; import { setupOverallCron } from "./modules/cron"; +import watchMem from "./modules/memwatch"; const db = new JSONdb("data/data.json"); app.dbs = {}; @@ -34,6 +35,7 @@ app.dbs.anondm = new EncryptedJsonDb("data/anondm.json", { app.dbs.tags = new JSONdb("data/tags.json"); app.dbs.stickymessages = new JSONdb("data/stickymessages.json"); attachDB(db); +watchMem(app) app.start(process.env.PORT || 3000).then(async (d) => { console.log(`App is UP (please help)`); watchForWhenIUseHacktime(app); diff --git a/src/modules/memwatch.ts b/src/modules/memwatch.ts new file mode 100644 index 0000000..6f4dedf --- /dev/null +++ b/src/modules/memwatch.ts @@ -0,0 +1,16 @@ +import memwatch from "memwatch-next" +import { ModifiedApp } from "./slackapp"; +export default function watchMem(app:ModifiedApp) { + memwatch.on('leak', (info) => { + app.client.chat.postMessage({ + text: `:x: my memory is leaking plz kill me :3\n\`\`\`\n${JSON.stringify(info, null, 2)}\n\`\`\``, + channel: `C07LGLUTNH2` + }) + }); + memwatch.on('stats', function(stats) { + app.client.chat.postMessage({ + text: `debug: mem stats ;3 \n\`\`\`\n${JSON.stringify(stats, null, 2)}\n\`\`\``, + channel: `C07LGLUTNH2` + }) + }); +} \ No newline at end of file diff --git a/src/modules/parseShipments.ts b/src/modules/parseShipments.ts index 5725054..db725be 100644 --- a/src/modules/parseShipments.ts +++ b/src/modules/parseShipments.ts @@ -248,7 +248,7 @@ export function setupCronForShipments(app: ModifiedApp) { ); } catch (e) { // coulda failed parsing or diff.. - console.error(e, `shipment viewer`); + console.error(e, `shipment viewer`, userURLID); } } }