From f22a9ace3eb7114301bbc55d14a6852b61fd906e Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Sun, 13 May 2018 19:40:56 +0200 Subject: [PATCH] improved SunOS support getStaticData(), getDynamicData() --- CHANGELOG.md | 1 + README.md | 8 ++++---- lib/index.js | 49 +++++++++++++++++++++++++++++-------------------- lib/system.js | 9 +++++++++ 4 files changed, 43 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index badd7d2..ede5e7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -100,6 +100,7 @@ Other changes | Version | Date | Comment | | -------------- | -------------- | -------- | +| 3.41.3 | 2018-05-13 | improved SunOS support `getStaticData()`, `getDynamicData()` | | 3.41.2 | 2018-05-13 | bugfix `system()` and `flags()` Raspberry Pi | | 3.41.1 | 2018-05-11 | updated docs | | 3.41.0 | 2018-05-11 | `system()` Raspberry Pi bugfix and extended detection, added partial `SunOS` support | diff --git a/README.md b/README.md index 18d71d8..7be3897 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,7 @@ I also created a nice little command line tool called [mmon][mmon-github-url] ( | | brand | X | X | X | X | | e.g. 'Core(TM)2 Duo' | | | speed | X | X | X | X | | in GHz e.g. '3.40' | | | speedmin | X | | X | X | | in GHz e.g. '0.80' | -| | speedmax | X | X | X | | X | | in GHz e.g. '3.90' | +| | speedmax | X | X | X | X | | in GHz e.g. '3.90' | | | cores | X | X | X | X | | # cores | | | vendor | X | X | X | X | | vendor ID | | | family | X | X | X | X | | processor family | @@ -411,9 +411,9 @@ I also created a nice little command line tool called [mmon][mmon-github-url] ( | Function | Result object | Linux | BSD | Mac | Win | Sun | Comments | | --------------- | ------------- | ----- | ------- | --- | --- | --- | -------- | -| si.getStaticData(cb) | {...} | X | X | X | X | | all static data at once | -| si.getDynamicData(srv,iface,cb) | {...} | X | X | X | X | | all dynamic data at once | -| si.getAllData(srv,iface,cb) | {...} | X | X | X | X | | all data at once | +| si.getStaticData(cb) | {...} | X | X | X | X | X | all static data at once | +| si.getDynamicData(srv,iface,cb) | {...} | X | X | X | X | X | all dynamic data at once | +| si.getAllData(srv,iface,cb) | {...} | X | X | X | X | X | all data at once | ### cb: Asynchronous Function Calls (callback) diff --git a/lib/index.js b/lib/index.js index cd1f261..981c859 100644 --- a/lib/index.js +++ b/lib/index.js @@ -189,6 +189,7 @@ function getDynamicData(srv, iface, callback) { let totalFunctions = 14; if (_windows) totalFunctions = 10; if (_freebsd || _openbsd) totalFunctions = 11; + if (_sunos) totalFunctions = 6; return function () { if (--totalFunctions === 0) { @@ -244,53 +245,61 @@ function getDynamicData(srv, iface, callback) { functionProcessed(); }); - cpu.cpuTemperature().then(res => { - data.temp = res; - functionProcessed(); - }); + if (!_sunos) { + cpu.cpuTemperature().then(res => { + data.temp = res; + functionProcessed(); + }); + } - if (!_openbsd && !_freebsd) { + if (!_openbsd && !_freebsd && !_sunos) { network.networkStats(iface).then(res => { data.networkStats = res; functionProcessed(); }); } - network.networkConnections().then(res => { - data.networkConnections = res; - functionProcessed(); - }); + if (!_sunos) { + network.networkConnections().then(res => { + data.networkConnections = res; + functionProcessed(); + }); + } memory.mem().then(res => { data.mem = res; functionProcessed(); }); - battery().then(res => { - data.battery = res; - functionProcessed(); - }); + if (!_sunos) { + battery().then(res => { + data.battery = res; + functionProcessed(); + }); + } - if (!_windows) { + if (!_windows && !_sunos) { processes.services(srv).then(res => { data.services = res; functionProcessed(); }); } - filesystem.fsSize().then(res => { - data.fsSize = res; - functionProcessed(); - }); + if (!_sunos) { + filesystem.fsSize().then(res => { + data.fsSize = res; + functionProcessed(); + }); + } - if (!_windows && !_openbsd && !_freebsd) { + if (!_windows && !_openbsd && !_freebsd && !_sunos) { filesystem.fsStats().then(res => { data.fsStats = res; functionProcessed(); }); } - if (!_windows && !_openbsd && !_freebsd) { + if (!_windows && !_openbsd && !_freebsd && !_sunos) { filesystem.disksIO().then(res => { data.disksIO = res; functionProcessed(); diff --git a/lib/system.js b/lib/system.js index eda9542..3c8ea98 100644 --- a/lib/system.js +++ b/lib/system.js @@ -254,6 +254,11 @@ function bios(callback) { if (callback) { callback(result); } resolve(result); } + if (_sunos) { + result.vendor = 'Sun Microsystems'; + if (callback) { callback(result); } + resolve(result); + } if (_windows) { // TODO: check BIOS windows exec(util.getWmic() + ' bios get /value', opts, function (error, stdout) { @@ -340,6 +345,10 @@ function baseboard(callback) { resolve(result); }); } + if (_sunos) { + if (callback) { callback(result); } + resolve(result); + } if (_windows) { exec(util.getWmic() + ' baseboard get /value', opts, function (error, stdout) { if (!error) {