const { powerMonitor } = require("electron"); const si = require("systeminformation"); async function collect() { const [cpu, memory, network] = await Promise.all([ si.currentLoad(), si.mem(), si.networkStats() ]); return { timestamp: Date.now(), system: { idle: powerMonitor.getSystemIdleTime(), idleState: powerMonitor.getSystemIdleState(60), battery: powerMonitor.isOnBatteryPower() }, cpu: cpu.currentLoad, memory: { active: memory.active, total: memory.total }, network: network.map(n => ({ interface: n.iface, rxPerSecond: n.rx_sec, txPerSecond: n.tx_sec })) }; } setInterval(async () => { console.log(await collect()); }, 5000);