diff --git a/src/types/api/nodes.ts b/src/types/api/nodes.ts index 8c01c5bdc8..2afee29df1 100644 --- a/src/types/api/nodes.ts +++ b/src/types/api/nodes.ts @@ -105,6 +105,7 @@ export interface TSystemStateInfo { /** double */ LoadAverage?: number[]; NumberOfCpus?: number; + RealNumberOfCpus?: number; SystemState?: EFlag; MessageBusState?: EFlag; GRpcState?: EFlag; diff --git a/src/utils/nodes.ts b/src/utils/nodes.ts index 48c34d568d..ed7442d6ef 100644 --- a/src/utils/nodes.ts +++ b/src/utils/nodes.ts @@ -44,14 +44,15 @@ export const prepareNodesMap = (nodesList?: TNodeInfo[]) => { }; export function calculateLoadAveragePercents(node: TSystemStateInfo = {}) { - const {LoadAverage, NumberOfCpus} = node; + const {LoadAverage, NumberOfCpus, RealNumberOfCpus} = node; + const cpuCount = RealNumberOfCpus ?? NumberOfCpus; - if (!valueIsDefined(LoadAverage) || !valueIsDefined(NumberOfCpus)) { + if (!valueIsDefined(LoadAverage) || !cpuCount) { return undefined; } return LoadAverage.map((value) => { - return (value * 100) / NumberOfCpus; + return (value * 100) / cpuCount; }); }