cpu data speed, ... numeric
This commit is contained in:
parent
8d01889ac2
commit
b118beb04d
69
lib/cpu.js
69
lib/cpu.js
@ -29,7 +29,7 @@ const _openbsd = (_platform === 'openbsd');
|
|||||||
const _netbsd = (_platform === 'netbsd');
|
const _netbsd = (_platform === 'netbsd');
|
||||||
const _sunos = (_platform === 'sunos');
|
const _sunos = (_platform === 'sunos');
|
||||||
|
|
||||||
let _cpu_speed = '0.00';
|
let _cpu_speed = 0;
|
||||||
let _current_cpu = {
|
let _current_cpu = {
|
||||||
user: 0,
|
user: 0,
|
||||||
nice: 0,
|
nice: 0,
|
||||||
@ -500,7 +500,7 @@ function cpuBrandManufacturer(res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getAMDSpeed(brand) {
|
function getAMDSpeed(brand) {
|
||||||
let result = '0.00';
|
let result = '0';
|
||||||
for (let key in AMDBaseFrequencies) {
|
for (let key in AMDBaseFrequencies) {
|
||||||
if ({}.hasOwnProperty.call(AMDBaseFrequencies, key)) {
|
if ({}.hasOwnProperty.call(AMDBaseFrequencies, key)) {
|
||||||
let parts = key.split('|');
|
let parts = key.split('|');
|
||||||
@ -515,7 +515,7 @@ function getAMDSpeed(brand) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return parseFloat(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
// --------------------------
|
// --------------------------
|
||||||
@ -535,9 +535,9 @@ function getCpu() {
|
|||||||
stepping: '',
|
stepping: '',
|
||||||
revision: '',
|
revision: '',
|
||||||
voltage: '',
|
voltage: '',
|
||||||
speed: '0.00',
|
speed: 0,
|
||||||
speedmin: '',
|
speedMin: 0,
|
||||||
speedmax: '',
|
speedMax: 0,
|
||||||
governor: '',
|
governor: '',
|
||||||
cores: util.cores(),
|
cores: util.cores(),
|
||||||
physicalCores: util.cores(),
|
physicalCores: util.cores(),
|
||||||
@ -556,16 +556,16 @@ function getCpu() {
|
|||||||
const modelline = util.getValue(lines, 'machdep.cpu.brand_string');
|
const modelline = util.getValue(lines, 'machdep.cpu.brand_string');
|
||||||
const modellineParts = modelline.split('@');
|
const modellineParts = modelline.split('@');
|
||||||
result.brand = modellineParts[0].trim();
|
result.brand = modellineParts[0].trim();
|
||||||
result.speed = modellineParts[1] ? modellineParts[1].trim() : '0';
|
const speed = modellineParts[1] ? modellineParts[1].trim() : '0';
|
||||||
result.speed = parseFloat(result.speed.replace(/GHz+/g, '')).toFixed(2);
|
result.speed = parseFloat(speed.replace(/GHz+/g, ''));
|
||||||
let tbFrequency = util.getValue(lines, 'hw.tbfrequency') / 1000000000.0;
|
let tbFrequency = util.getValue(lines, 'hw.tbfrequency') / 1000000000.0;
|
||||||
tbFrequency = tbFrequency < 0.1 ? tbFrequency * 100 : tbFrequency;
|
tbFrequency = tbFrequency < 0.1 ? tbFrequency * 100 : tbFrequency;
|
||||||
result.speed = result.speed === '0.00' ? tbFrequency.toFixed(2) : result.speed;
|
result.speed = result.speed === 0 ? tbFrequency : result.speed;
|
||||||
|
|
||||||
_cpu_speed = result.speed;
|
_cpu_speed = result.speed;
|
||||||
result = cpuBrandManufacturer(result);
|
result = cpuBrandManufacturer(result);
|
||||||
result.speedmin = util.getValue(lines, 'hw.cpufrequency_min') ? (util.getValue(lines, 'hw.cpufrequency_min') / 1000000000.0).toFixed(2) : result.speed;
|
result.speedMin = util.getValue(lines, 'hw.cpufrequency_min') ? (util.getValue(lines, 'hw.cpufrequency_min') / 1000000000.0) : result.speed;
|
||||||
result.speedmax = util.getValue(lines, 'hw.cpufrequency_max') ? (util.getValue(lines, 'hw.cpufrequency_max') / 1000000000.0).toFixed(2) : result.speed;
|
result.speedMax = util.getValue(lines, 'hw.cpufrequency_max') ? (util.getValue(lines, 'hw.cpufrequency_max') / 1000000000.0) : result.speed;
|
||||||
result.vendor = util.getValue(lines, 'machdep.cpu.vendor') || 'Apple';
|
result.vendor = util.getValue(lines, 'machdep.cpu.vendor') || 'Apple';
|
||||||
result.family = util.getValue(lines, 'machdep.cpu.family') || util.getValue(lines, 'hw.cpufamily');
|
result.family = util.getValue(lines, 'machdep.cpu.family') || util.getValue(lines, 'hw.cpufamily');
|
||||||
result.model = util.getValue(lines, 'machdep.cpu.model');
|
result.model = util.getValue(lines, 'machdep.cpu.model');
|
||||||
@ -605,19 +605,17 @@ function getCpu() {
|
|||||||
modelline = util.getValue(lines, 'model name') || modelline;
|
modelline = util.getValue(lines, 'model name') || modelline;
|
||||||
const modellineParts = modelline.split('@');
|
const modellineParts = modelline.split('@');
|
||||||
result.brand = modellineParts[0].trim();
|
result.brand = modellineParts[0].trim();
|
||||||
result.speed = modellineParts[1] ? parseFloat(modellineParts[1].trim()).toFixed(2) : '0.00';
|
result.speed = modellineParts[1] ? parseFloat(modellineParts[1].trim()) : 0;
|
||||||
if (result.speed === '0.00' && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) {
|
if (result.speed === 0 && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) {
|
||||||
result.speed = getAMDSpeed(result.brand);
|
result.speed = getAMDSpeed(result.brand);
|
||||||
}
|
}
|
||||||
if (result.speed === '0.00') {
|
if (result.speed === 0) {
|
||||||
let current = getCpuCurrentSpeedSync();
|
const current = getCpuCurrentSpeedSync();
|
||||||
if (current.avg !== 0) result.speed = current.avg.toFixed(2);
|
if (current.avg !== 0) result.speed = current.avg;
|
||||||
}
|
}
|
||||||
_cpu_speed = result.speed;
|
_cpu_speed = result.speed;
|
||||||
result.speedmin = Math.round(parseFloat(util.getValue(lines, 'cpu min mhz').replace(/,/g, '.')) / 10.0) / 100;
|
result.speedMin = Math.round(parseFloat(util.getValue(lines, 'cpu min mhz').replace(/,/g, '.')) / 10.0) / 100;
|
||||||
result.speedmin = result.speedmin ? parseFloat(result.speedmin).toFixed(2) : '';
|
result.speedMax = Math.round(parseFloat(util.getValue(lines, 'cpu max mhz').replace(/,/g, '.')) / 10.0) / 100;
|
||||||
result.speedmax = Math.round(parseFloat(util.getValue(lines, 'cpu max mhz').replace(/,/g, '.')) / 10.0) / 100;
|
|
||||||
result.speedmax = result.speedmax ? parseFloat(result.speedmax).toFixed(2) : '';
|
|
||||||
|
|
||||||
result = cpuBrandManufacturer(result);
|
result = cpuBrandManufacturer(result);
|
||||||
result.vendor = util.getValue(lines, 'vendor id');
|
result.vendor = util.getValue(lines, 'vendor id');
|
||||||
@ -685,18 +683,17 @@ function getCpu() {
|
|||||||
lines = processor.split('\n');
|
lines = processor.split('\n');
|
||||||
}
|
}
|
||||||
result.brand = modelline.split('@')[0].trim();
|
result.brand = modelline.split('@')[0].trim();
|
||||||
result.speed = modelline.split('@')[1] ? parseFloat(modelline.split('@')[1].trim()).toFixed(2) : '0.00';
|
result.speed = modelline.split('@')[1] ? parseFloat(modelline.split('@')[1].trim()) : 0;
|
||||||
if (result.speed === '0.00' && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) {
|
if (result.speed === 0 && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) {
|
||||||
result.speed = getAMDSpeed(result.brand);
|
result.speed = getAMDSpeed(result.brand);
|
||||||
}
|
}
|
||||||
if (result.speed === '0.00') {
|
if (result.speed === 0) {
|
||||||
let current = getCpuCurrentSpeedSync();
|
const current = getCpuCurrentSpeedSync();
|
||||||
if (current.avg !== 0) result.speed = current.avg.toFixed(2);
|
if (current.avg !== 0) result.speed = current.avg;
|
||||||
}
|
}
|
||||||
_cpu_speed = result.speed;
|
_cpu_speed = result.speed;
|
||||||
result.speedmin = '';
|
result.speedMin = result.speed;
|
||||||
result.speedmax = Math.round(parseFloat(util.getValue(lines, 'max speed').replace(/Mhz/g, '')) / 10.0) / 100;
|
result.speedMax = Math.round(parseFloat(util.getValue(lines, 'max speed').replace(/Mhz/g, '')) / 10.0) / 100;
|
||||||
result.speedmax = result.speedmax ? parseFloat(result.speedmax).toFixed(2) : '';
|
|
||||||
|
|
||||||
result = cpuBrandManufacturer(result);
|
result = cpuBrandManufacturer(result);
|
||||||
result.vendor = util.getValue(lines, 'manufacturer');
|
result.vendor = util.getValue(lines, 'manufacturer');
|
||||||
@ -751,11 +748,11 @@ function getCpu() {
|
|||||||
let name = util.getValue(lines, 'name', '=') || '';
|
let name = util.getValue(lines, 'name', '=') || '';
|
||||||
if (name.indexOf('@') >= 0) {
|
if (name.indexOf('@') >= 0) {
|
||||||
result.brand = name.split('@')[0].trim();
|
result.brand = name.split('@')[0].trim();
|
||||||
result.speed = name.split('@')[1] ? parseFloat(name.split('@')[1].trim()).toFixed(2) : '0.00';
|
result.speed = name.split('@')[1] ? parseFloat(name.split('@')[1].trim()) : 0;
|
||||||
_cpu_speed = result.speed;
|
_cpu_speed = result.speed;
|
||||||
} else {
|
} else {
|
||||||
result.brand = name.trim();
|
result.brand = name.trim();
|
||||||
result.speed = '0.00';
|
result.speed = 0;
|
||||||
}
|
}
|
||||||
result = cpuBrandManufacturer(result);
|
result = cpuBrandManufacturer(result);
|
||||||
result.revision = util.getValue(lines, 'revision', '=');
|
result.revision = util.getValue(lines, 'revision', '=');
|
||||||
@ -766,14 +763,14 @@ function getCpu() {
|
|||||||
if (result.cache.l2) { result.cache.l2 = parseInt(result.cache.l2, 10) * 1024; }
|
if (result.cache.l2) { result.cache.l2 = parseInt(result.cache.l2, 10) * 1024; }
|
||||||
if (result.cache.l3) { result.cache.l3 = parseInt(result.cache.l3, 10) * 1024; }
|
if (result.cache.l3) { result.cache.l3 = parseInt(result.cache.l3, 10) * 1024; }
|
||||||
result.vendor = util.getValue(lines, 'manufacturer', '=');
|
result.vendor = util.getValue(lines, 'manufacturer', '=');
|
||||||
result.speedmax = Math.round(parseFloat(util.getValue(lines, 'maxclockspeed', '=').replace(/,/g, '.')) / 10.0) / 100;
|
result.speedMax = Math.round(parseFloat(util.getValue(lines, 'maxclockspeed', '=').replace(/,/g, '.')) / 10.0) / 100;
|
||||||
result.speedmax = result.speedmax ? parseFloat(result.speedmax).toFixed(2) : '';
|
if (result.speed === 0 && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) {
|
||||||
if (result.speed === '0.00' && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) {
|
|
||||||
result.speed = getAMDSpeed(result.brand);
|
result.speed = getAMDSpeed(result.brand);
|
||||||
}
|
}
|
||||||
if (result.speed === '0.00') {
|
if (result.speed === 0) {
|
||||||
result.speed = result.speedmax;
|
result.speed = result.speedMax;
|
||||||
}
|
}
|
||||||
|
result.speedMin = result.speed;
|
||||||
|
|
||||||
let description = util.getValue(lines, 'description', '=').split(' ');
|
let description = util.getValue(lines, 'description', '=').split(' ');
|
||||||
for (let i = 0; i < description.length; i++) {
|
for (let i = 0; i < description.length; i++) {
|
||||||
@ -897,7 +894,7 @@ function cpuCurrentspeed(callback) {
|
|||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
process.nextTick(() => {
|
process.nextTick(() => {
|
||||||
let result = getCpuCurrentSpeedSync();
|
let result = getCpuCurrentSpeedSync();
|
||||||
if (result.avg === 0 && _cpu_speed !== '0.00') {
|
if (result.avg === 0 && _cpu_speed !== 0) {
|
||||||
const currCpuSpeed = parseFloat(_cpu_speed);
|
const currCpuSpeed = parseFloat(_cpu_speed);
|
||||||
result = {
|
result = {
|
||||||
min: currCpuSpeed,
|
min: currCpuSpeed,
|
||||||
|
|||||||
6
lib/index.d.ts
vendored
6
lib/index.d.ts
vendored
@ -69,9 +69,9 @@ export namespace Systeminformation {
|
|||||||
stepping: string;
|
stepping: string;
|
||||||
revision: string;
|
revision: string;
|
||||||
voltage: string;
|
voltage: string;
|
||||||
speed: string;
|
speed: number;
|
||||||
speedmin: string;
|
speedMin: number;
|
||||||
speedmax: string;
|
speedMax: number;
|
||||||
governor: string;
|
governor: string;
|
||||||
cores: number;
|
cores: number;
|
||||||
physicalCores: number;
|
physicalCores: number;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user