systeminformation 5.7.14 → 5.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -0
- package/README.md +7 -0
- package/lib/filesystem.js +48 -3
- package/lib/processes.js +18 -8
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -77,6 +77,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page.
|
|
|
77
77
|
|
|
78
78
|
| Version | Date | Comment |
|
|
79
79
|
| -------------- | -------------- | -------- |
|
|
80
|
+
| 5.8.0 | 2021-08-02 | `disksIO()` added waitTime, waitPercent (linux) |
|
|
80
81
|
| 5.7.14 | 2021-08-01 | `cpu()` cache calculation fix (linux) |
|
|
81
82
|
| 5.7.13 | 2021-07-28 | `osInfo()` fix uefi detection (win) |
|
|
82
83
|
| 5.7.12 | 2021-07-27 | `osInfo()` fix uefi detection (win) |
|
package/README.md
CHANGED
|
@@ -103,6 +103,7 @@ si.cpu()
|
|
|
103
103
|
|
|
104
104
|
(last 7 major and minor version releases)
|
|
105
105
|
|
|
106
|
+
- Version 5.8.0: `disksIO()` added waitTime, waitPercent (linux)
|
|
106
107
|
- Version 5.7.0: `diskLayout()` added S.M.A.R.T for Windows (if installed)
|
|
107
108
|
- Version 5.6.0: `cpuTemperature()` added added socket and chipset temp (linux)
|
|
108
109
|
- Version 5.5.0: `dockerVolumes()` added
|
|
@@ -446,6 +447,12 @@ Full function reference with examples can be found at [https://systeminformation
|
|
|
446
447
|
| | rIO_sec | X | | X | | | read IO per sec (* see notes) |
|
|
447
448
|
| | wIO_sec | X | | X | | | write IO per sec (* see notes) |
|
|
448
449
|
| | tIO_sec | X | | X | | | total IO per sec (* see notes) |
|
|
450
|
+
| | rWaitTime | X | | | | | read IO request time (* see notes) |
|
|
451
|
+
| | wWaitTime | X | | | | | write IO request time (* see notes) |
|
|
452
|
+
| | tWaitTime | X | | | | | total IO request time (* see notes) |
|
|
453
|
+
| | rWaitPercent | X | | | | | read IO request time percent (* see notes) |
|
|
454
|
+
| | wWaitPercent | X | | | | | write IO request time percent (* see notes) |
|
|
455
|
+
| | tWaitPercent | X | | | | | total IO request time percent (* see notes) |
|
|
449
456
|
| | ms | X | | X | | | interval length (for per second values) |
|
|
450
457
|
| si.fsSize(cb) | [{...}] | X | X | X | X | | returns array of mounted file systems |
|
|
451
458
|
| | [0].fs | X | X | X | X | | name of file system |
|
package/lib/filesystem.js
CHANGED
|
@@ -590,7 +590,7 @@ function fsStats(callback) {
|
|
|
590
590
|
|
|
591
591
|
exports.fsStats = fsStats;
|
|
592
592
|
|
|
593
|
-
function calcDiskIO(rIO, wIO) {
|
|
593
|
+
function calcDiskIO(rIO, wIO, rWaitTime, wWaitTime, tWaitTime) {
|
|
594
594
|
let result = {
|
|
595
595
|
rIO: 0,
|
|
596
596
|
wIO: 0,
|
|
@@ -598,6 +598,12 @@ function calcDiskIO(rIO, wIO) {
|
|
|
598
598
|
rIO_sec: null,
|
|
599
599
|
wIO_sec: null,
|
|
600
600
|
tIO_sec: null,
|
|
601
|
+
rWaitTime: 0,
|
|
602
|
+
wWaitTime: 0,
|
|
603
|
+
tWaitTime: 0,
|
|
604
|
+
rWaitPercent: null,
|
|
605
|
+
wWaitPercent: null,
|
|
606
|
+
tWaitPercent: null,
|
|
601
607
|
ms: 0
|
|
602
608
|
};
|
|
603
609
|
if (_disk_io && _disk_io.ms) {
|
|
@@ -608,22 +614,43 @@ function calcDiskIO(rIO, wIO) {
|
|
|
608
614
|
result.rIO_sec = (result.rIO - _disk_io.rIO) / (result.ms / 1000);
|
|
609
615
|
result.wIO_sec = (result.wIO - _disk_io.wIO) / (result.ms / 1000);
|
|
610
616
|
result.tIO_sec = result.rIO_sec + result.wIO_sec;
|
|
617
|
+
result.rWaitTime = rWaitTime;
|
|
618
|
+
result.wWaitTime = wWaitTime;
|
|
619
|
+
result.tWaitTime = tWaitTime;
|
|
620
|
+
result.rWaitPercent = (result.rWaitTime - _disk_io.rWaitTime) * 100 / (result.ms);
|
|
621
|
+
result.wWaitPercent = (result.wWaitTime - _disk_io.wWaitTime) * 100 / (result.ms);
|
|
622
|
+
result.tWaitPercent = (result.tWaitTime - _disk_io.tWaitTime) * 100 / (result.ms);
|
|
611
623
|
_disk_io.rIO = rIO;
|
|
612
624
|
_disk_io.wIO = wIO;
|
|
613
625
|
_disk_io.rIO_sec = result.rIO_sec;
|
|
614
626
|
_disk_io.wIO_sec = result.wIO_sec;
|
|
615
627
|
_disk_io.tIO_sec = result.tIO_sec;
|
|
628
|
+
_disk_io.rWaitTime = rWaitTime;
|
|
629
|
+
_disk_io.wWaitTime = wWaitTime;
|
|
630
|
+
_disk_io.tWaitTime = tWaitTime;
|
|
631
|
+
_disk_io.rWaitPercent = result.rWaitPercent;
|
|
632
|
+
_disk_io.wWaitPercent = result.wWaitPercent;
|
|
633
|
+
_disk_io.tWaitPercent = result.tWaitPercent;
|
|
616
634
|
_disk_io.last_ms = result.ms;
|
|
617
635
|
_disk_io.ms = Date.now();
|
|
618
636
|
} else {
|
|
619
637
|
result.rIO = rIO;
|
|
620
638
|
result.wIO = wIO;
|
|
621
639
|
result.tIO = rIO + wIO;
|
|
640
|
+
result.rWaitTime = rWaitTime;
|
|
641
|
+
result.wWaitTime = wWaitTime;
|
|
642
|
+
result.tWaitTime = tWaitTime;
|
|
622
643
|
_disk_io.rIO = rIO;
|
|
623
644
|
_disk_io.wIO = wIO;
|
|
624
645
|
_disk_io.rIO_sec = null;
|
|
625
646
|
_disk_io.wIO_sec = null;
|
|
626
647
|
_disk_io.tIO_sec = null;
|
|
648
|
+
_disk_io.rWaitTime = rWaitTime;
|
|
649
|
+
_disk_io.wWaitTime = wWaitTime;
|
|
650
|
+
_disk_io.tWaitTime = tWaitTime;
|
|
651
|
+
_disk_io.rWaitPercent = null;
|
|
652
|
+
_disk_io.wWaitPercent = null;
|
|
653
|
+
_disk_io.tWaitPercent = null;
|
|
627
654
|
_disk_io.last_ms = 0;
|
|
628
655
|
_disk_io.ms = Date.now();
|
|
629
656
|
}
|
|
@@ -648,10 +675,19 @@ function disksIO(callback) {
|
|
|
648
675
|
rIO_sec: null,
|
|
649
676
|
wIO_sec: null,
|
|
650
677
|
tIO_sec: null,
|
|
678
|
+
rWaitTime: 0,
|
|
679
|
+
wWaitTime: 0,
|
|
680
|
+
tWaitTime: 0,
|
|
681
|
+
rWaitPercent: null,
|
|
682
|
+
wWaitPercent: null,
|
|
683
|
+
tWaitPercent: null,
|
|
651
684
|
ms: 0
|
|
652
685
|
};
|
|
653
686
|
let rIO = 0;
|
|
654
687
|
let wIO = 0;
|
|
688
|
+
let rWaitTime = 0;
|
|
689
|
+
let wWaitTime = 0;
|
|
690
|
+
let tWaitTime = 0;
|
|
655
691
|
|
|
656
692
|
if ((_disk_io && !_disk_io.ms) || (_disk_io && _disk_io.ms && Date.now() - _disk_io.ms >= 500)) {
|
|
657
693
|
if (_linux || _freebsd || _openbsd || _netbsd) {
|
|
@@ -671,8 +707,11 @@ function disksIO(callback) {
|
|
|
671
707
|
let stats = line.split(';');
|
|
672
708
|
rIO += parseInt(stats[0]);
|
|
673
709
|
wIO += parseInt(stats[4]);
|
|
710
|
+
rWaitTime += parseInt(stats[3]);
|
|
711
|
+
wWaitTime += parseInt(stats[7]);
|
|
712
|
+
tWaitTime += parseInt(stats[10]);
|
|
674
713
|
});
|
|
675
|
-
result = calcDiskIO(rIO, wIO);
|
|
714
|
+
result = calcDiskIO(rIO, wIO, rWaitTime, wWaitTime, tWaitTime);
|
|
676
715
|
|
|
677
716
|
if (callback) {
|
|
678
717
|
callback(result);
|
|
@@ -699,7 +738,7 @@ function disksIO(callback) {
|
|
|
699
738
|
wIO += parseInt(line[0]);
|
|
700
739
|
}
|
|
701
740
|
});
|
|
702
|
-
result = calcDiskIO(rIO, wIO);
|
|
741
|
+
result = calcDiskIO(rIO, wIO, rWaitTime, wWaitTime, tWaitTime);
|
|
703
742
|
}
|
|
704
743
|
if (callback) {
|
|
705
744
|
callback(result);
|
|
@@ -715,6 +754,12 @@ function disksIO(callback) {
|
|
|
715
754
|
result.rIO_sec = _disk_io.rIO_sec;
|
|
716
755
|
result.wIO_sec = _disk_io.wIO_sec;
|
|
717
756
|
result.tIO_sec = _disk_io.tIO_sec;
|
|
757
|
+
result.rWaitTime = _disk_io.rWaitTime;
|
|
758
|
+
result.wWaitTime = _disk_io.wWaitTime;
|
|
759
|
+
result.tWaitTime = _disk_io.tWaitTime;
|
|
760
|
+
result.rWaitPercent = _disk_io.rWaitPercent;
|
|
761
|
+
result.wWaitPercent = _disk_io.wWaitPercent;
|
|
762
|
+
result.tWaitPercent = _disk_io.tWaitPercent;
|
|
718
763
|
if (callback) {
|
|
719
764
|
callback(result);
|
|
720
765
|
}
|
package/lib/processes.js
CHANGED
|
@@ -33,18 +33,24 @@ const _sunos = (_platform === 'sunos');
|
|
|
33
33
|
|
|
34
34
|
const _processes_cpu = {
|
|
35
35
|
all: 0,
|
|
36
|
+
all_utime: 0,
|
|
37
|
+
all_stime: 0,
|
|
36
38
|
list: {},
|
|
37
39
|
ms: 0,
|
|
38
40
|
result: {}
|
|
39
41
|
};
|
|
40
42
|
const _services_cpu = {
|
|
41
43
|
all: 0,
|
|
44
|
+
all_utime: 0,
|
|
45
|
+
all_stime: 0,
|
|
42
46
|
list: {},
|
|
43
47
|
ms: 0,
|
|
44
48
|
result: {}
|
|
45
49
|
};
|
|
46
50
|
const _process_cpu = {
|
|
47
51
|
all: 0,
|
|
52
|
+
all_utime: 0,
|
|
53
|
+
all_stime: 0,
|
|
48
54
|
list: {},
|
|
49
55
|
ms: 0,
|
|
50
56
|
result: {}
|
|
@@ -471,10 +477,10 @@ function calcProcStatWin(procStat, all, _cpu_old) {
|
|
|
471
477
|
}
|
|
472
478
|
return {
|
|
473
479
|
pid: procStat.pid,
|
|
474
|
-
utime: procStat.utime,
|
|
475
|
-
stime: procStat.stime,
|
|
476
|
-
cpuu: cpuu,
|
|
477
|
-
cpus: cpus
|
|
480
|
+
utime: cpuu > 0 ? procStat.utime : 0,
|
|
481
|
+
stime: cpus > 0 ? procStat.stime : 0,
|
|
482
|
+
cpuu: cpuu > 0 ? cpuu : 0,
|
|
483
|
+
cpus: cpus > 0 ? cpus : 0
|
|
478
484
|
};
|
|
479
485
|
}
|
|
480
486
|
|
|
@@ -788,8 +794,8 @@ function processes(callback) {
|
|
|
788
794
|
let procs = [];
|
|
789
795
|
let procStats = [];
|
|
790
796
|
let list_new = {};
|
|
791
|
-
let allcpuu =
|
|
792
|
-
let allcpus =
|
|
797
|
+
let allcpuu = _processes_cpu.all_utime;
|
|
798
|
+
let allcpus = _processes_cpu.all_stime;
|
|
793
799
|
for (let i = 0; i < processSections.length; i++) {
|
|
794
800
|
if (processSections[i].trim() !== '') {
|
|
795
801
|
let lines = processSections[i].trim().split('\r\n');
|
|
@@ -862,6 +868,8 @@ function processes(callback) {
|
|
|
862
868
|
}
|
|
863
869
|
// store old values
|
|
864
870
|
_processes_cpu.all = allcpuu + allcpus;
|
|
871
|
+
_processes_cpu.all_utime = allcpuu;
|
|
872
|
+
_processes_cpu.all_stime = allcpus;
|
|
865
873
|
// _processes_cpu.list = list_new;
|
|
866
874
|
_processes_cpu.list = Object.assign({}, list_new);
|
|
867
875
|
_processes_cpu.ms = Date.now() - _processes_cpu.ms;
|
|
@@ -953,8 +961,8 @@ function processLoad(proc, callback) {
|
|
|
953
961
|
let processSections = stdout.split(/\n\s*\n/);
|
|
954
962
|
let procStats = [];
|
|
955
963
|
let list_new = {};
|
|
956
|
-
let allcpuu =
|
|
957
|
-
let allcpus =
|
|
964
|
+
let allcpuu = _process_cpu.all_utime;
|
|
965
|
+
let allcpus = _process_cpu.all_stime;
|
|
958
966
|
|
|
959
967
|
// go through all processes
|
|
960
968
|
for (let i = 0; i < processSections.length; i++) {
|
|
@@ -1051,6 +1059,8 @@ function processLoad(proc, callback) {
|
|
|
1051
1059
|
}
|
|
1052
1060
|
// store old values
|
|
1053
1061
|
_process_cpu.all = allcpuu + allcpus;
|
|
1062
|
+
_process_cpu.all_utime = allcpuu;
|
|
1063
|
+
_process_cpu.all_stime = allcpus;
|
|
1054
1064
|
// _process_cpu.list = list_new;
|
|
1055
1065
|
_process_cpu.list = Object.assign({}, list_new);
|
|
1056
1066
|
_process_cpu.ms = Date.now() - _process_cpu.ms;
|
package/package.json
CHANGED