processLoad() bugfix windows
This commit is contained in:
parent
2bf55c48df
commit
9ecf15f5f8
@ -100,6 +100,7 @@ Other changes
|
||||
|
||||
| Version | Date | Comment |
|
||||
| -------------- | -------------- | -------- |
|
||||
| 3.51.1 | 2018-11-26 | `processLoad()` bugfix windows |
|
||||
| 3.51.0 | 2018-11-25 | `processLoad()` added for windows |
|
||||
| 3.50.3 | 2018-11-25 | `processLoad()`, `services()` fixed cpu data (linux) |
|
||||
| 3.50.2 | 2018-11-23 | network mac adresses: ip support fix |
|
||||
|
||||
@ -849,7 +849,7 @@ function processLoad(proc, callback) {
|
||||
if (!error) {
|
||||
let processSections = stdout.split(/\n\s*\n/);
|
||||
let procs = [];
|
||||
let procStats = {};
|
||||
let procStats = [];
|
||||
let list_new = {};
|
||||
let allcpuu = 0;
|
||||
let allcpus = 0;
|
||||
@ -864,49 +864,52 @@ function processLoad(proc, callback) {
|
||||
allcpuu = allcpuu + utime;
|
||||
allcpus = allcpus + stime;
|
||||
|
||||
procStats = {
|
||||
procStats.push({
|
||||
pid: pid,
|
||||
utime: utime,
|
||||
stime: stime,
|
||||
pcpu: 0,
|
||||
pcpuu: 0,
|
||||
pcpus: 0,
|
||||
};
|
||||
if (name.toLowerCase().indexOf(name.toLowerCase()) >= 0) {
|
||||
result = {
|
||||
proc: name,
|
||||
pid: pid,
|
||||
pids: [pid],
|
||||
cpu: 0,
|
||||
mem: mem / os.totalmem() * 100
|
||||
};
|
||||
});
|
||||
if (name.toLowerCase().indexOf(proc.toLowerCase()) >= 0) {
|
||||
if (result.pid === -1) {
|
||||
result = {
|
||||
proc: name,
|
||||
pid: pid,
|
||||
pids: [pid],
|
||||
cpu: 0,
|
||||
mem: mem / os.totalmem() * 100
|
||||
};
|
||||
} else {
|
||||
result.pids.push(pid);
|
||||
result.mem += mem / os.totalmem() * 100;
|
||||
}
|
||||
}
|
||||
}
|
||||
result.sleeping = result.all - result.running - result.blocked - result.unknown;
|
||||
result.list = procs;
|
||||
for (let i = 0; i < procStats.length; i++) {
|
||||
let resultProcess = calcProcStatWin(procStats[i], allcpuu + allcpus, _process_cpu);
|
||||
|
||||
// store pcpu in outer array
|
||||
let listPos = result.map(function (e) { return e.pid; }).indexOf(resultProcess.pid);
|
||||
if (listPos >= 0) {
|
||||
result.cpu = resultProcess.pcpuu + resultProcess.pcpus;
|
||||
}
|
||||
|
||||
// save new values
|
||||
list_new[resultProcess.pid] = {
|
||||
pcpuu: resultProcess.pcpuu,
|
||||
pcpus: resultProcess.pcpus,
|
||||
utime: resultProcess.utime,
|
||||
stime: resultProcess.stime
|
||||
};
|
||||
}
|
||||
// store old values
|
||||
_process_cpu.all = allcpuu + allcpus;
|
||||
_process_cpu.list = list_new;
|
||||
_process_cpu.ms = Date.now() - _process_cpu.ms;
|
||||
_process_cpu.result = result;
|
||||
}
|
||||
for (let i = 0; i < procStats.length; i++) {
|
||||
let resultProcess = calcProcStatWin(procStats[i], allcpuu + allcpus, _process_cpu);
|
||||
|
||||
// store pcpu in outer array
|
||||
let listPos = result.pids.indexOf(resultProcess.pid);
|
||||
if (listPos >= 0) {
|
||||
result.cpu = resultProcess.pcpuu + resultProcess.pcpus;
|
||||
}
|
||||
|
||||
// save new values
|
||||
list_new[resultProcess.pid] = {
|
||||
pcpuu: resultProcess.pcpuu,
|
||||
pcpus: resultProcess.pcpus,
|
||||
utime: resultProcess.utime,
|
||||
stime: resultProcess.stime
|
||||
};
|
||||
}
|
||||
// store old values
|
||||
_process_cpu.all = allcpuu + allcpus;
|
||||
_process_cpu.list = list_new;
|
||||
_process_cpu.ms = Date.now() - _process_cpu.ms;
|
||||
_process_cpu.result = result;
|
||||
if (callback) {
|
||||
callback(result);
|
||||
}
|
||||
@ -1001,9 +1004,6 @@ function processLoad(proc, callback) {
|
||||
resolve(result);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (callback) { callback(result); }
|
||||
resolve(result);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -1011,6 +1011,3 @@ function processLoad(proc, callback) {
|
||||
}
|
||||
|
||||
exports.processLoad = processLoad;
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user