pbc/libs/info.js

90 lines
1.6 KiB
JavaScript
Raw Normal View History

2022-02-11 01:40:47 +01:00
const commands = require('./commands.js');
const os = require('os');
function getHostname() {
return os.hostname();
}
function getUptime() {
return os.uptime();
}
function getLoadAverage(index) {
var loadAverage = os.loadavg();
if (index <= loadAverage.length) {
return os[index];
}
return os.loadavg();
}
function getArchitecture() {
2022-02-10 21:00:59 +01:00
return os.arch();
}
function getOperatingSystem() {
return os.release();
}
2022-02-10 21:00:59 +01:00
function getType() {
return os.type();
}
function getPlatform() {
return os.platform();
}
function getKernelVersion() {
return os.version();
}
function getCpuInfo() {
return os.cpus();
}
function getMemoryInfo() {
var free = os.freemem();
var total = os.totalmem();
return {
total: total,
free: free,
used: total - free
}
}
2022-03-25 12:34:24 +01:00
async function getTemperature() {
try {
2022-03-25 12:37:06 +01:00
return commands.execute('vcgencmd', ['measure_temp']);
2022-03-25 12:34:24 +01:00
} catch (err) {
throw new Error(err);
}
2022-02-11 01:40:47 +01:00
}
function getHostInfo() {
2022-03-25 12:34:24 +01:00
return {
hostname: getHostname(),
uptime: getUptime(),
load: getLoadAverage(),
arch: getArchitecture(),
os: getOperatingSystem(),
2022-02-10 21:00:59 +01:00
type: getType(),
platform: getPlatform(),
kernel: getKernelVersion(),
cpu: getCpuInfo(),
2022-02-11 01:40:47 +01:00
memory: getMemoryInfo(),
2022-03-25 12:34:24 +01:00
};
}
module.exports = {
getHostname,
getUptime,
getLoadAverage,
getArchitecture,
getOperatingSystem,
2022-02-10 21:00:59 +01:00
getType,
getPlatform,
getKernelVersion,
getCpuInfo,
getMemoryInfo,
2022-02-11 01:40:47 +01:00
getTemperature,
getHostInfo
}