From: Jérôme Benoit Date: Sun, 6 Jul 2025 20:13:37 +0000 (+0200) Subject: fix: fix worker usage statistics computation X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=f6392d503f33ca42d5125f9b524fd9454b87fbba;p=poolifier.git fix: fix worker usage statistics computation Signed-off-by: Jérôme Benoit --- 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 }