From 8e160551831f9c3b18f999499aa24a0f69984c16 Mon Sep 17 00:00:00 2001 From: boufni95 Date: Tue, 25 Feb 2025 20:10:10 +0000 Subject: [PATCH 1/2] memory usage stats --- src/services/helpers/utilsWrapper.ts | 5 +++++ src/services/main/index.ts | 1 + src/services/storage/stateBundler.ts | 13 +++++++++++++ 3 files changed, 19 insertions(+) diff --git a/src/services/helpers/utilsWrapper.ts b/src/services/helpers/utilsWrapper.ts index 35cefc17..0dc61d63 100644 --- a/src/services/helpers/utilsWrapper.ts +++ b/src/services/helpers/utilsWrapper.ts @@ -2,10 +2,15 @@ import { MainSettings } from "../main/settings.js"; import { StateBundler } from "../storage/stateBundler.js"; export class Utils { + stateBundler: StateBundler settings: MainSettings constructor(settings: MainSettings) { this.settings = settings this.stateBundler = new StateBundler(settings.storageSettings) } + + Stop() { + this.stateBundler.Stop() + } } \ No newline at end of file diff --git a/src/services/main/index.ts b/src/services/main/index.ts index 27516f62..9a83cce2 100644 --- a/src/services/main/index.ts +++ b/src/services/main/index.ts @@ -84,6 +84,7 @@ export default class { this.lnd.Stop() this.applicationManager.Stop() this.paymentManager.Stop() + this.utils.Stop() } StartBeacons() { diff --git a/src/services/storage/stateBundler.ts b/src/services/storage/stateBundler.ts index 3b81e15f..bda5d675 100644 --- a/src/services/storage/stateBundler.ts +++ b/src/services/storage/stateBundler.ts @@ -33,10 +33,23 @@ export class StateBundler { tlvStorage: TlvFilesStorage reportLog = getLogger({ component: 'stateBundlerReport' }) prevValues: Record = {} + interval: NodeJS.Timeout constructor(settings: StorageSettings) { const bundlerPath = [settings.dataDir, "bundler_events"].filter(s => !!s).join("/") this.tlvStorage = new TlvFilesStorage(bundlerPath) this.tlvStorage.initMeta() + this.interval = setInterval(() => { + const mem = process.memoryUsage() + this.AddValue('_root', 'memory_rss', mem.rss || 0, true) + this.AddValue('_root', 'memory_buffer', mem.arrayBuffers || 0, true) + this.AddValue('_root', 'memory_heap_total', mem.heapTotal || 0, true) + this.AddValue('_root', 'memory_heap_used', mem.heapUsed || 0, true) + this.AddValue('_root', 'memory_external', mem.external || 0, true) + }, 60 * 1000) + } + + Stop() { + clearInterval(this.interval) } async GetBundleMetrics(req: Types.LatestBundleMetricReq): Promise { From 8f6f5bf2095f6ff13ae24377f478a024a0157990 Mon Sep 17 00:00:00 2001 From: boufni95 Date: Tue, 25 Feb 2025 20:15:44 +0000 Subject: [PATCH 2/2] use kb --- src/services/storage/stateBundler.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/services/storage/stateBundler.ts b/src/services/storage/stateBundler.ts index bda5d675..99737833 100644 --- a/src/services/storage/stateBundler.ts +++ b/src/services/storage/stateBundler.ts @@ -40,11 +40,11 @@ export class StateBundler { this.tlvStorage.initMeta() this.interval = setInterval(() => { const mem = process.memoryUsage() - this.AddValue('_root', 'memory_rss', mem.rss || 0, true) - this.AddValue('_root', 'memory_buffer', mem.arrayBuffers || 0, true) - this.AddValue('_root', 'memory_heap_total', mem.heapTotal || 0, true) - this.AddValue('_root', 'memory_heap_used', mem.heapUsed || 0, true) - this.AddValue('_root', 'memory_external', mem.external || 0, true) + this.AddValue('_root', 'memory_rss_kb', Math.ceil(mem.rss / 1000 || 0), true) + this.AddValue('_root', 'memory_buffer_kb', Math.ceil(mem.arrayBuffers / 1000 || 0), true) + this.AddValue('_root', 'memory_heap_total_kb', Math.ceil(mem.heapTotal / 1000 || 0), true) + this.AddValue('_root', 'memory_heap_used_kb', Math.ceil(mem.heapUsed / 1000 || 0), true) + this.AddValue('_root', 'memory_external_kb', Math.ceil(mem.external / 1000 || 0), true) }, 60 * 1000) }