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