From e45510f35ae6fc3a513148aaf429c881effc10e1 Mon Sep 17 00:00:00 2001 From: rubikscraft Date: Sat, 24 Sep 2022 12:23:56 +0200 Subject: [PATCH] add some memory logging --- backend/src/managers/image/ingest.service.ts | 1 - backend/src/routes/image/image.controller.ts | 10 ---------- backend/src/workers/sharp/sharp.worker.ts | 17 +++++++++++++++++ 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/backend/src/managers/image/ingest.service.ts b/backend/src/managers/image/ingest.service.ts index 8ecc6c2..d215202 100644 --- a/backend/src/managers/image/ingest.service.ts +++ b/backend/src/managers/image/ingest.service.ts @@ -82,7 +82,6 @@ export class IngestService { }, { jobId: uuidv4(), - delay: 30000, }, )) as ImageIngestJob; if (!job.id) return Fail(FT.Internal, undefined, 'Failed to queue job'); diff --git a/backend/src/routes/image/image.controller.ts b/backend/src/routes/image/image.controller.ts index 2b73c29..5d6911c 100644 --- a/backend/src/routes/image/image.controller.ts +++ b/backend/src/routes/image/image.controller.ts @@ -75,16 +75,6 @@ export class ImageController { params, ), ); - - const isbfufer = image.data instanceof Buffer; - console.log('isabuffer', isbfufer); - if (!isbfufer) { - console.log('not a buffer'); - console.log(image.data); - - console.trace(); - process.exit(); - } res.type(ThrowIfFailed(FileType2Mime(image.filetype))); return image.data; diff --git a/backend/src/workers/sharp/sharp.worker.ts b/backend/src/workers/sharp/sharp.worker.ts index 84969b3..59b9adc 100644 --- a/backend/src/workers/sharp/sharp.worker.ts +++ b/backend/src/workers/sharp/sharp.worker.ts @@ -11,6 +11,8 @@ import { import { UniversalSharpIn, UniversalSharpOut } from './universal-sharp'; export class SharpWorker { + private maxMemoryUsed = 0; + private startTime: number = 0; private sharpi: Sharp | null = null; @@ -36,6 +38,17 @@ export class SharpWorker { process.on('message', this.messageHandler.bind(this)); + process.nextTick(() => { + let memUsage = process.memoryUsage(); + if (memUsage.rss > this.maxMemoryUsed) { + this.maxMemoryUsed = memUsage.rss; + } + }); + + setInterval(() => { + console.log(`Used ${JSON.stringify(process.memoryUsage())} bytes`); + }, 100); + this.sendMessage({ type: 'ready', }); @@ -92,6 +105,10 @@ export class SharpWorker { const result = await UniversalSharpOut(sharpi, filetype, options); const processingTime = Date.now() - this.startTime; + console.log( + `\nUsed ${this.maxMemoryUsed} bytes`, + ); + this.sendMessage({ type: 'result', processingTime,