2022-02-11 01:40:47 +01:00
|
|
|
const commands = require('./commands.js');
|
2022-02-10 20:52:02 +01:00
|
|
|
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();
|
2022-02-10 20:52:02 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
function getOperatingSystem() {
|
|
|
|
return os.release();
|
|
|
|
}
|
|
|
|
|
2022-02-10 21:00:59 +01:00
|
|
|
function getType() {
|
|
|
|
return os.type();
|
|
|
|
}
|
|
|
|
|
2022-02-10 20:52:02 +01:00
|
|
|
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
|
|
|
}
|
|
|
|
|
2022-02-10 20:52:02 +01:00
|
|
|
function getHostInfo() {
|
2022-03-25 12:34:24 +01:00
|
|
|
return {
|
2022-02-10 20:52:02 +01:00
|
|
|
hostname: getHostname(),
|
|
|
|
uptime: getUptime(),
|
|
|
|
load: getLoadAverage(),
|
|
|
|
arch: getArchitecture(),
|
|
|
|
os: getOperatingSystem(),
|
2022-02-10 21:00:59 +01:00
|
|
|
type: getType(),
|
2022-02-10 20:52:02 +01:00
|
|
|
platform: getPlatform(),
|
|
|
|
kernel: getKernelVersion(),
|
|
|
|
cpu: getCpuInfo(),
|
2022-02-11 01:40:47 +01:00
|
|
|
memory: getMemoryInfo(),
|
2022-03-25 12:34:24 +01:00
|
|
|
};
|
2022-02-10 20:52:02 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
getHostname,
|
|
|
|
getUptime,
|
|
|
|
getLoadAverage,
|
|
|
|
getArchitecture,
|
|
|
|
getOperatingSystem,
|
2022-02-10 21:00:59 +01:00
|
|
|
getType,
|
2022-02-10 20:52:02 +01:00
|
|
|
getPlatform,
|
|
|
|
getKernelVersion,
|
|
|
|
getCpuInfo,
|
|
|
|
getMemoryInfo,
|
2022-02-11 01:40:47 +01:00
|
|
|
getTemperature,
|
2022-02-10 20:52:02 +01:00
|
|
|
getHostInfo
|
|
|
|
}
|