fsSize() added optional drive parameter
This commit is contained in:
parent
1df611af74
commit
8c22e42bf3
@ -82,6 +82,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page.
|
||||
|
||||
| Version | Date | Comment |
|
||||
| ------- | ---------- | --------------------------------------------------------------------------------------------------- |
|
||||
| 5.18.0 | 2023-06-06 | `fsSize()` added optional drive parameter |
|
||||
| 5.17.17 | 2023-06-03 | `osInfo()` improved fqdn (linux) |
|
||||
| 5.17.16 | 2023-05-30 | `usb()` fix parsing JSON (mac OS) |
|
||||
| 5.17.15 | 2023-05-29 | `powershell()` added NoProfile to speed up powershell (windows) |
|
||||
|
||||
143
README.md
143
README.md
@ -111,6 +111,7 @@ si.cpu()
|
||||
|
||||
(last 7 major and minor version releases)
|
||||
|
||||
- Version 5.18.0: `fsSize()` added optional drive parameter
|
||||
- Version 5.17.0: `graphics()` added positionX, positionY (mac OS)
|
||||
- Version 5.16.0: `fsSize()` added rw property
|
||||
- Version 5.15.0: `blockDevices()` added device
|
||||
@ -433,77 +434,77 @@ Full function reference with examples can be found at [https://systeminformation
|
||||
|
||||
#### 9. File System
|
||||
|
||||
| Function | Result object | Linux | BSD | Mac | Win | Sun | Comments |
|
||||
| ------------------- | --------------------- | ----- | --- | --- | --- | --- | ------------------------------------------------------------------------ |
|
||||
| si.diskLayout(cb) | [{...}] | X | | X | X | | physical disk layout (array) |
|
||||
| | [0].device | X | | X | | | e.g. /dev/sda |
|
||||
| | [0].type | X | | X | X | | HD, SSD, NVMe |
|
||||
| | [0].name | X | | X | X | | disk name |
|
||||
| | [0].vendor | X | | | X | | vendor/producer |
|
||||
| | [0].size | X | | X | X | | size in bytes |
|
||||
| | [0].bytesPerSector | | | | X | | bytes per sector |
|
||||
| | [0].totalCylinders | | | | X | | total cylinders |
|
||||
| | [0].totalHeads | | | | X | | total heads |
|
||||
| | [0].totalSectors | | | | X | | total sectors |
|
||||
| | [0].totalTracks | | | | X | | total tracks |
|
||||
| | [0].tracksPerCylinder | | | | X | | tracks per cylinder |
|
||||
| | [0].sectorsPerTrack | | | | X | | sectors per track |
|
||||
| | [0].firmwareRevision | X | | X | X | | firmware revision |
|
||||
| | [0].serialNum | X | | X | X | | serial number |
|
||||
| | [0].interfaceType | X | | | X | | SATA, PCIe, ... |
|
||||
| | [0].smartStatus | X | | X | X | | S.M.A.R.T Status (see Known Issues) |
|
||||
| | [0].temperature | X | | | | | S.M.A.R.T temperature |
|
||||
| | [0].smartData | X | | | X | | full S.M.A.R.T data from smartctl<br>requires at least smartmontools 7.0 |
|
||||
| si.blockDevices(cb) | [{...}] | X | | X | X | | returns array of disks, partitions,<br>raids and roms |
|
||||
| | [0].name | X | | X | X | | name |
|
||||
| | [0].type | X | | X | X | | type |
|
||||
| | [0].fstype | X | | X | X | | file system type (e.g. ext4) |
|
||||
| | [0].mount | X | | X | X | | mount point |
|
||||
| | [0].size | X | | X | X | | size in bytes |
|
||||
| | [0].physical | X | | X | X | | physical type (HDD, SSD, CD/DVD) |
|
||||
| | [0].uuid | X | | X | X | | UUID |
|
||||
| | [0].label | X | | X | X | | label |
|
||||
| | [0].model | X | | X | | | model |
|
||||
| | [0].serial | X | | | X | | serial |
|
||||
| | [0].removable | X | | X | X | | serial |
|
||||
| | [0].protocol | X | | X | | | protocol (SATA, PCI-Express, ...) |
|
||||
| | [0].group | X | | | | | Raid group member (e.g. md1) |
|
||||
| | [0].device | X | | X | X | | physical device mapped to (e.g. /dev/sda) |
|
||||
| si.disksIO(cb) | {...} | X | | X | | | current transfer stats |
|
||||
| | rIO | X | | X | | | read IOs on all mounted drives |
|
||||
| | wIO | X | | X | | | write IOs on all mounted drives |
|
||||
| | tIO | X | | X | | | write IOs on all mounted drives |
|
||||
| | rIO_sec | X | | X | | | read IO per sec (* see notes) |
|
||||
| | wIO_sec | X | | X | | | write IO per sec (* see notes) |
|
||||
| | tIO_sec | X | | X | | | total IO per sec (* see notes) |
|
||||
| | rWaitTime | X | | | | | read IO request time (* see notes) |
|
||||
| | wWaitTime | X | | | | | write IO request time (* see notes) |
|
||||
| | tWaitTime | X | | | | | total IO request time (* see notes) |
|
||||
| | rWaitPercent | X | | | | | read IO request time percent (* see notes) |
|
||||
| | wWaitPercent | X | | | | | write IO request time percent (* see notes) |
|
||||
| | tWaitPercent | X | | | | | total IO request time percent (* see notes) |
|
||||
| | ms | X | | X | | | interval length (for per second values) |
|
||||
| si.fsSize(cb) | [{...}] | X | X | X | X | | returns array of mounted file systems |
|
||||
| | [0].fs | X | X | X | X | | name of file system |
|
||||
| | [0].type | X | X | X | X | | type of file system |
|
||||
| | [0].size | X | X | X | X | | sizes in bytes |
|
||||
| | [0].used | X | X | X | X | | used in bytes |
|
||||
| | [0].available | X | X | X | X | | used in bytes |
|
||||
| | [0].use | X | X | X | X | | used in % |
|
||||
| | [0].mount | X | X | X | X | | mount point |
|
||||
| | [0].rw | X | X | X | X | | read and write (false if read only) |
|
||||
| si.fsOpenFiles(cb) | {...} | X | X | X | | | count max/allocated file descriptors |
|
||||
| | max | X | X | X | | | max file descriptors |
|
||||
| | allocated | X | X | X | | | current open files count |
|
||||
| | available | X | X | X | | | count available |
|
||||
| si.fsStats(cb) | {...} | X | | X | | | current transfer stats |
|
||||
| | rx | X | | X | | | bytes read since startup |
|
||||
| | wx | X | | X | | | bytes written since startup |
|
||||
| | tx | X | | X | | | total bytes read + written since startup |
|
||||
| | rx_sec | X | | X | | | bytes read / second (* see notes) |
|
||||
| | wx_sec | X | | X | | | bytes written / second (* see notes) |
|
||||
| | tx_sec | X | | X | | | total bytes reads + written / second |
|
||||
| | ms | X | | X | | | interval length (for per second values) |
|
||||
| Function | Result object | Linux | BSD | Mac | Win | Sun | Comments |
|
||||
| -------------------- | --------------------- | ----- | --- | --- | --- | --- | ------------------------------------------------------------------------ |
|
||||
| si.diskLayout(cb) | [{...}] | X | | X | X | | physical disk layout (array) |
|
||||
| | [0].device | X | | X | | | e.g. /dev/sda |
|
||||
| | [0].type | X | | X | X | | HD, SSD, NVMe |
|
||||
| | [0].name | X | | X | X | | disk name |
|
||||
| | [0].vendor | X | | | X | | vendor/producer |
|
||||
| | [0].size | X | | X | X | | size in bytes |
|
||||
| | [0].bytesPerSector | | | | X | | bytes per sector |
|
||||
| | [0].totalCylinders | | | | X | | total cylinders |
|
||||
| | [0].totalHeads | | | | X | | total heads |
|
||||
| | [0].totalSectors | | | | X | | total sectors |
|
||||
| | [0].totalTracks | | | | X | | total tracks |
|
||||
| | [0].tracksPerCylinder | | | | X | | tracks per cylinder |
|
||||
| | [0].sectorsPerTrack | | | | X | | sectors per track |
|
||||
| | [0].firmwareRevision | X | | X | X | | firmware revision |
|
||||
| | [0].serialNum | X | | X | X | | serial number |
|
||||
| | [0].interfaceType | X | | | X | | SATA, PCIe, ... |
|
||||
| | [0].smartStatus | X | | X | X | | S.M.A.R.T Status (see Known Issues) |
|
||||
| | [0].temperature | X | | | | | S.M.A.R.T temperature |
|
||||
| | [0].smartData | X | | | X | | full S.M.A.R.T data from smartctl<br>requires at least smartmontools 7.0 |
|
||||
| si.blockDevices(cb) | [{...}] | X | | X | X | | returns array of disks, partitions,<br>raids and roms |
|
||||
| | [0].name | X | | X | X | | name |
|
||||
| | [0].type | X | | X | X | | type |
|
||||
| | [0].fstype | X | | X | X | | file system type (e.g. ext4) |
|
||||
| | [0].mount | X | | X | X | | mount point |
|
||||
| | [0].size | X | | X | X | | size in bytes |
|
||||
| | [0].physical | X | | X | X | | physical type (HDD, SSD, CD/DVD) |
|
||||
| | [0].uuid | X | | X | X | | UUID |
|
||||
| | [0].label | X | | X | X | | label |
|
||||
| | [0].model | X | | X | | | model |
|
||||
| | [0].serial | X | | | X | | serial |
|
||||
| | [0].removable | X | | X | X | | serial |
|
||||
| | [0].protocol | X | | X | | | protocol (SATA, PCI-Express, ...) |
|
||||
| | [0].group | X | | | | | Raid group member (e.g. md1) |
|
||||
| | [0].device | X | | X | X | | physical device mapped to (e.g. /dev/sda) |
|
||||
| si.disksIO(cb) | {...} | X | | X | | | current transfer stats |
|
||||
| | rIO | X | | X | | | read IOs on all mounted drives |
|
||||
| | wIO | X | | X | | | write IOs on all mounted drives |
|
||||
| | tIO | X | | X | | | write IOs on all mounted drives |
|
||||
| | rIO_sec | X | | X | | | read IO per sec (* see notes) |
|
||||
| | wIO_sec | X | | X | | | write IO per sec (* see notes) |
|
||||
| | tIO_sec | X | | X | | | total IO per sec (* see notes) |
|
||||
| | rWaitTime | X | | | | | read IO request time (* see notes) |
|
||||
| | wWaitTime | X | | | | | write IO request time (* see notes) |
|
||||
| | tWaitTime | X | | | | | total IO request time (* see notes) |
|
||||
| | rWaitPercent | X | | | | | read IO request time percent (* see notes) |
|
||||
| | wWaitPercent | X | | | | | write IO request time percent (* see notes) |
|
||||
| | tWaitPercent | X | | | | | total IO request time percent (* see notes) |
|
||||
| | ms | X | | X | | | interval length (for per second values) |
|
||||
| si.fsSize(drive, cb) | [{...}] | X | X | X | X | | returns array of mounted file systems<br>drive param is optional |
|
||||
| | [0].fs | X | X | X | X | | name of file system |
|
||||
| | [0].type | X | X | X | X | | type of file system |
|
||||
| | [0].size | X | X | X | X | | sizes in bytes |
|
||||
| | [0].used | X | X | X | X | | used in bytes |
|
||||
| | [0].available | X | X | X | X | | used in bytes |
|
||||
| | [0].use | X | X | X | X | | used in % |
|
||||
| | [0].mount | X | X | X | X | | mount point |
|
||||
| | [0].rw | X | X | X | X | | read and write (false if read only) |
|
||||
| si.fsOpenFiles(cb) | {...} | X | X | X | | | count max/allocated file descriptors |
|
||||
| | max | X | X | X | | | max file descriptors |
|
||||
| | allocated | X | X | X | | | current open files count |
|
||||
| | available | X | X | X | | | count available |
|
||||
| si.fsStats(cb) | {...} | X | | X | | | current transfer stats |
|
||||
| | rx | X | | X | | | bytes read since startup |
|
||||
| | wx | X | | X | | | bytes written since startup |
|
||||
| | tx | X | | X | | | total bytes read + written since startup |
|
||||
| | rx_sec | X | | X | | | bytes read / second (* see notes) |
|
||||
| | wx_sec | X | | X | | | bytes written / second (* see notes) |
|
||||
| | tx_sec | X | | X | | | total bytes reads + written / second |
|
||||
| | ms | X | | X | | | interval length (for per second values) |
|
||||
|
||||
#### 10. USB
|
||||
|
||||
|
||||
@ -663,14 +663,14 @@ setInterval(function() {
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>si.fsSize(cb)</td>
|
||||
<td>si.fsSize(drive, cb)</td>
|
||||
<td>[{...}]</td>
|
||||
<td>X</td>
|
||||
<td>X</td>
|
||||
<td>X</td>
|
||||
<td>X</td>
|
||||
<td></td>
|
||||
<td>returns array of mounted file systems</td>
|
||||
<td>returns array of mounted file systems<br>drive parameter is optional</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
@ -1011,4 +1011,4 @@ setInterval(function() {
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@ -57,6 +57,11 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">5.18.0</th>
|
||||
<td>2023-06-06</td>
|
||||
<td><span class="code">fssize()</span> added optional drive parameter</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">5.17.17</th>
|
||||
<td>2023-06-03</td>
|
||||
|
||||
@ -170,7 +170,7 @@
|
||||
<img class="logo" src="assets/logo.png" alt="logo">
|
||||
<div class="title">systeminformation</div>
|
||||
<div class="subtitle"><span id="typed"></span> </div>
|
||||
<div class="version">New Version: <span id="version">5.17.17</span></div>
|
||||
<div class="version">New Version: <span id="version">5.18.0</span></div>
|
||||
<button class="btn btn-light" onclick="location.href='https://github.com/sebhildebrandt/systeminformation'">View on Github <i class=" fab fa-github"></i></button>
|
||||
</div>
|
||||
<div class="down">
|
||||
@ -212,7 +212,7 @@
|
||||
<div class="title">Downloads last month</div>
|
||||
</div>
|
||||
<div class="col-xl-4 col-lg-4 col-md-4 col-12">
|
||||
<div class="numbers">613</div>
|
||||
<div class="numbers">617</div>
|
||||
<div class="title">Dependents</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -36,7 +36,12 @@ let _disk_io = {};
|
||||
// --------------------------
|
||||
// FS - mounted file systems
|
||||
|
||||
function fsSize(callback) {
|
||||
function fsSize(drive, callback) {
|
||||
|
||||
if (util.isFunction(drive)) {
|
||||
callback = drive;
|
||||
drive = '';
|
||||
}
|
||||
|
||||
let macOsDisks = [];
|
||||
let osMounts = [];
|
||||
@ -61,6 +66,7 @@ function fsSize(callback) {
|
||||
|
||||
function filterLines(stdout) {
|
||||
let lines = stdout.toString().split('\n');
|
||||
lines.shift();
|
||||
if (stdout.toString().toLowerCase().indexOf('filesystem')) {
|
||||
let removeLines = 0;
|
||||
for (let i = 0; i < lines.length; i++) {
|
||||
@ -131,7 +137,7 @@ function fsSize(callback) {
|
||||
}
|
||||
}
|
||||
if (_linux) {
|
||||
cmd = 'df -lkPTx squashfs';
|
||||
cmd = 'export LC_ALL=C; df -lkPTx squashfs; unset LC_ALL';
|
||||
execSync('cat /proc/mounts 2>/dev/null').toString().split('\n').filter(line => {
|
||||
return line.startsWith('/');
|
||||
}).forEach((line) => {
|
||||
@ -147,6 +153,11 @@ function fsSize(callback) {
|
||||
exec(cmd, { maxBuffer: 1024 * 1024 }, function (error, stdout) {
|
||||
let lines = filterLines(stdout);
|
||||
data = parseDf(lines);
|
||||
if (drive) {
|
||||
data = data.filter(item => {
|
||||
return item.fs.toLowerCase().indexOf(drive.toLowerCase()) >= 0 || item.mount.toLowerCase().indexOf(drive.toLowerCase()) >= 0;
|
||||
});
|
||||
}
|
||||
if (!error || data.length) {
|
||||
if (callback) {
|
||||
callback(data);
|
||||
@ -172,8 +183,8 @@ function fsSize(callback) {
|
||||
}
|
||||
if (_windows) {
|
||||
try {
|
||||
// util.wmic('logicaldisk get Caption,FileSystem,FreeSpace,Size').then((stdout) => {
|
||||
util.powerShell('Get-CimInstance Win32_logicaldisk | select Access,Caption,FileSystem,FreeSpace,Size | fl').then((stdout, error) => {
|
||||
const cmd = `Get-WmiObject Win32_logicaldisk | select Caption,FileSystem,FreeSpace,Size ${drive ? '| where -property Caption -eq ' + drive : ''} | fl`;
|
||||
util.powerShell(cmd).then((stdout, error) => {
|
||||
if (!error) {
|
||||
let devices = stdout.toString().split(/\n\s*\n/);
|
||||
devices.forEach(function (device) {
|
||||
|
||||
2
lib/index.d.ts
vendored
2
lib/index.d.ts
vendored
@ -967,7 +967,7 @@ export function memLayout(cb?: (data: Systeminformation.MemLayoutData[]) => any)
|
||||
export function battery(cb?: (data: Systeminformation.BatteryData) => any): Promise<Systeminformation.BatteryData>;
|
||||
export function graphics(cb?: (data: Systeminformation.GraphicsData) => any): Promise<Systeminformation.GraphicsData>;
|
||||
|
||||
export function fsSize(cb?: (data: Systeminformation.FsSizeData[]) => any): Promise<Systeminformation.FsSizeData[]>;
|
||||
export function fsSize(drive?: string, cb?: (data: Systeminformation.FsSizeData[]) => any): Promise<Systeminformation.FsSizeData[]>;
|
||||
export function fsOpenFiles(cb?: (data: Systeminformation.FsOpenFilesData[]) => any): Promise<Systeminformation.FsOpenFilesData[]>;
|
||||
export function blockDevices(cb?: (data: Systeminformation.BlockDevicesData[]) => any): Promise<Systeminformation.BlockDevicesData[]>;
|
||||
export function fsStats(cb?: (data: Systeminformation.FsStatsData) => any): Promise<Systeminformation.FsStatsData>;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user