From f6392d503f33ca42d5125f9b524fd9454b87fbba Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sun, 6 Jul 2025 22:13:37 +0200 Subject: [PATCH] fix: fix worker usage statistics computation MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- src/pools/utils.ts | 17 +++++++---------- src/pools/worker.ts | 1 + 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/pools/utils.ts b/src/pools/utils.ts index 3b9ecaddd..025402749 100644 --- a/src/pools/utils.ts +++ b/src/pools/utils.ts @@ -272,14 +272,14 @@ const updateMeasurementStatistics = ( measurementStatistics.history.toArray() ) } else if (measurementStatistics.average != null) { - delete measurementStatistics.average + measurementStatistics.average = undefined } if (measurementRequirements.median) { measurementStatistics.median = median( measurementStatistics.history.toArray() ) } else if (measurementStatistics.median != null) { - delete measurementStatistics.median + measurementStatistics.median = undefined } } } @@ -377,14 +377,11 @@ export const updateEluWorkerUsage = < ) if (eluTaskStatisticsRequirements?.aggregate === true) { if (message.taskPerformance?.elu != null) { - if (workerUsage.elu.utilization != null) { - workerUsage.elu.utilization = - (workerUsage.elu.utilization + - message.taskPerformance.elu.utilization) / - 2 - } else { - workerUsage.elu.utilization = message.taskPerformance.elu.utilization - } + workerUsage.elu.count = (workerUsage.elu.count ?? 0) + 1 + workerUsage.elu.utilization = + ((workerUsage.elu.utilization ?? 0) * (workerUsage.elu.count - 1) + + message.taskPerformance.elu.utilization) / + workerUsage.elu.count } } } diff --git a/src/pools/worker.ts b/src/pools/worker.ts index edc659d37..63c508d08 100644 --- a/src/pools/worker.ts +++ b/src/pools/worker.ts @@ -59,6 +59,7 @@ export const MeasurementHistorySize = 386 */ export interface EventLoopUtilizationMeasurementStatistics { readonly active: MeasurementStatistics + count?: number readonly idle: MeasurementStatistics utilization?: number } -- 2.43.0