From f2c60381b31854acf47affc1f5c353a6878eeaae Mon Sep 17 00:00:00 2001 From: Abhinav Date: Thu, 12 Jan 2023 12:48:55 +0530 Subject: [PATCH 1/7] update UI --- ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui b/ui index 8d35ee519..b7d8fc630 160000 --- a/ui +++ b/ui @@ -1 +1 @@ -Subproject commit 8d35ee519e1f19d12c38b22b51d2dea03863346a +Subproject commit b7d8fc63017c73447209db3d7a2c4a6acff37183 From db4b1829db89597fa1fa04f1e334b646a705a9c3 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Thu, 12 Jan 2023 13:21:20 +0530 Subject: [PATCH 2/7] fix spike MemoryUsage logging --- src/utils/processStats.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/utils/processStats.ts b/src/utils/processStats.ts index 64f900d58..80e3c404b 100644 --- a/src/utils/processStats.ts +++ b/src/utils/processStats.ts @@ -44,8 +44,8 @@ async function logSpikeMainMemoryUsage() { processMemoryInfo.private ); const previewMemoryUsage = Math.max( - previousMainProcessMemoryInfo.private, - previousMainProcessMemoryInfo.residentSet + previousMainProcessMemoryInfo.residentSet ?? 0, + previousMainProcessMemoryInfo.private ); const isSpiking = currentMemoryUsage - previewMemoryUsage >= @@ -92,9 +92,10 @@ let rendererUsingHighMemory = false; async function logSpikeRendererMemoryUsage() { const processMemoryInfo = await process.getProcessMemoryInfo(); const currentMemoryUsage = Math.max( - processMemoryInfo.residentSet, + processMemoryInfo.residentSet ?? 0, processMemoryInfo.private ); + const previewMemoryUsage = Math.max( previousRendererProcessMemoryInfo.private, previousRendererProcessMemoryInfo.residentSet @@ -110,6 +111,8 @@ async function logSpikeRendererMemoryUsage() { (isHighMemoryUsage && !rendererUsingHighMemory) || (!isHighMemoryUsage && rendererUsingHighMemory); + console.log(convertBytesToHumanReadable(currentMemoryUsage * 1024)); + if (isSpiking || shouldReport) { const normalizedCurrentProcessMemoryInfo = await getNormalizedProcessMemoryInfo(processMemoryInfo); From 2d26d61bade01af95df22944f7198f61adde6dfe Mon Sep 17 00:00:00 2001 From: Abhinav Date: Thu, 12 Jan 2023 13:25:00 +0530 Subject: [PATCH 3/7] update UI --- ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui b/ui index b7d8fc630..c3508053c 160000 --- a/ui +++ b/ui @@ -1 +1 @@ -Subproject commit b7d8fc63017c73447209db3d7a2c4a6acff37183 +Subproject commit c3508053ca0b11341445ae0b38dac9185e1cfab3 From 6ea0dd9ee2524e50deee46bae4545a76b5396852 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Thu, 12 Jan 2023 15:18:34 +0530 Subject: [PATCH 4/7] log currentMemoryUsage each second --- src/utils/processStats.ts | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/utils/processStats.ts b/src/utils/processStats.ts index 80e3c404b..fd4c0cda0 100644 --- a/src/utils/processStats.ts +++ b/src/utils/processStats.ts @@ -40,15 +40,15 @@ let mainProcessUsingHighMemory = false; async function logSpikeMainMemoryUsage() { const processMemoryInfo = await process.getProcessMemoryInfo(); const currentMemoryUsage = Math.max( - processMemoryInfo.residentSet, + processMemoryInfo.residentSet ?? 0, processMemoryInfo.private ); - const previewMemoryUsage = Math.max( + const previousMemoryUsage = Math.max( previousMainProcessMemoryInfo.residentSet ?? 0, previousMainProcessMemoryInfo.private ); const isSpiking = - currentMemoryUsage - previewMemoryUsage >= + currentMemoryUsage - previousMemoryUsage >= MAIN_MEMORY_USAGE_DIFF_IN_KILOBYTES_CONSIDERED_AS_SPIKE; const isHighMemoryUsage = @@ -58,6 +58,10 @@ async function logSpikeMainMemoryUsage() { (isHighMemoryUsage && !mainProcessUsingHighMemory) || (!isHighMemoryUsage && mainProcessUsingHighMemory); + ElectronLog.log( + 'main processMemory', + convertBytesToHumanReadable(currentMemoryUsage * 1024) + ); if (isSpiking || shouldReport) { const normalizedCurrentProcessMemoryInfo = await getNormalizedProcessMemoryInfo(processMemoryInfo); @@ -96,12 +100,12 @@ async function logSpikeRendererMemoryUsage() { processMemoryInfo.private ); - const previewMemoryUsage = Math.max( + const previousMemoryUsage = Math.max( previousRendererProcessMemoryInfo.private, - previousRendererProcessMemoryInfo.residentSet + previousRendererProcessMemoryInfo.residentSet ?? 0 ); const isSpiking = - currentMemoryUsage - previewMemoryUsage >= + currentMemoryUsage - previousMemoryUsage >= RENDERER_MEMORY_USAGE_DIFF_IN_KILOBYTES_CONSIDERED_AS_SPIKE; const isHighMemoryUsage = @@ -111,7 +115,10 @@ async function logSpikeRendererMemoryUsage() { (isHighMemoryUsage && !rendererUsingHighMemory) || (!isHighMemoryUsage && rendererUsingHighMemory); - console.log(convertBytesToHumanReadable(currentMemoryUsage * 1024)); + ElectronLog.log( + 'renderer processMemory', + convertBytesToHumanReadable(currentMemoryUsage * 1024) + ); if (isSpiking || shouldReport) { const normalizedCurrentProcessMemoryInfo = From f919c0e28b8e5a9bd766d0433e3eb18ce1dc51a0 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Thu, 12 Jan 2023 15:31:51 +0530 Subject: [PATCH 5/7] increase main spike and threshold value --- src/utils/processStats.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/processStats.ts b/src/utils/processStats.ts index fd4c0cda0..08cba6dc7 100644 --- a/src/utils/processStats.ts +++ b/src/utils/processStats.ts @@ -5,9 +5,9 @@ const LOGGING_INTERVAL_IN_MICROSECONDS = 30 * 1000; // 30 seconds const SPIKE_DETECTION_INTERVAL_IN_MICROSECONDS = 1 * 1000; // 1 seconds -const MAIN_MEMORY_USAGE_DIFF_IN_KILOBYTES_CONSIDERED_AS_SPIKE = 10 * 1024; // 10 MB +const MAIN_MEMORY_USAGE_DIFF_IN_KILOBYTES_CONSIDERED_AS_SPIKE = 50 * 1024; // 50 MB -const HIGH_MAIN_MEMORY_USAGE_THRESHOLD_IN_KILOBYTES = 100 * 1024; // 100 MB +const HIGH_MAIN_MEMORY_USAGE_THRESHOLD_IN_KILOBYTES = 200 * 1024; // 200 MB const RENDERER_MEMORY_USAGE_DIFF_IN_KILOBYTES_CONSIDERED_AS_SPIKE = 200 * 1024; // 200 MB From 7d8578a7401f44cd8ba1b8dd73cf18018e2cfb60 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Thu, 12 Jan 2023 15:32:59 +0530 Subject: [PATCH 6/7] remove per second logging --- src/utils/processStats.ts | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/utils/processStats.ts b/src/utils/processStats.ts index 08cba6dc7..25710dbd2 100644 --- a/src/utils/processStats.ts +++ b/src/utils/processStats.ts @@ -58,10 +58,6 @@ async function logSpikeMainMemoryUsage() { (isHighMemoryUsage && !mainProcessUsingHighMemory) || (!isHighMemoryUsage && mainProcessUsingHighMemory); - ElectronLog.log( - 'main processMemory', - convertBytesToHumanReadable(currentMemoryUsage * 1024) - ); if (isSpiking || shouldReport) { const normalizedCurrentProcessMemoryInfo = await getNormalizedProcessMemoryInfo(processMemoryInfo); @@ -115,11 +111,6 @@ async function logSpikeRendererMemoryUsage() { (isHighMemoryUsage && !rendererUsingHighMemory) || (!isHighMemoryUsage && rendererUsingHighMemory); - ElectronLog.log( - 'renderer processMemory', - convertBytesToHumanReadable(currentMemoryUsage * 1024) - ); - if (isSpiking || shouldReport) { const normalizedCurrentProcessMemoryInfo = await getNormalizedProcessMemoryInfo(processMemoryInfo); From b48d368b637094cf644af82cee2a43b94f67abbc Mon Sep 17 00:00:00 2001 From: Abhinav Date: Thu, 12 Jan 2023 15:37:55 +0530 Subject: [PATCH 7/7] update UI --- ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui b/ui index c3508053c..b7d8fc630 160000 --- a/ui +++ b/ui @@ -1 +1 @@ -Subproject commit c3508053ca0b11341445ae0b38dac9185e1cfab3 +Subproject commit b7d8fc63017c73447209db3d7a2c4a6acff37183