diff options
author | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-09-25 18:24:21 +1000 |
---|---|---|
committer | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-09-25 23:35:18 +1000 |
commit | f44f5d7ac2d24ff836c2e1d4b2fa58da04b13052 (patch) | |
tree | a6655c41bb3db79c30fd876b06ee60fe9cf70c9b /src/bundle/stats.ts | |
parent | Allow edited_timestamp to passthrough in handleMessage (diff) | |
download | server-f44f5d7ac2d24ff836c2e1d4b2fa58da04b13052.tar.xz |
Refactor to mono-repo + upgrade packages
Diffstat (limited to 'src/bundle/stats.ts')
-rw-r--r-- | src/bundle/stats.ts | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/bundle/stats.ts b/src/bundle/stats.ts new file mode 100644 index 00000000..0234e0b4 --- /dev/null +++ b/src/bundle/stats.ts @@ -0,0 +1,43 @@ +import os from "os"; +import osu from "node-os-utils"; +import { red } from "picocolors"; + +export function initStats() { + console.log(`[Path] running in ${__dirname}`); + try { + console.log(`[CPU] ${osu.cpu.model()} Cores x${osu.cpu.count()}`); + } + catch { + console.log('[CPU] Failed to get cpu model!') + } + + console.log(`[System] ${os.platform()} ${os.arch()}`); + console.log(`[Process] running with PID: ${process.pid}`); + if (process.getuid && process.getuid() === 0) { + console.warn( + red( + `[Process] Warning fosscord is running as root, this highly discouraged and might expose your system vulnerable to attackers. Please run fosscord as a user without root privileges.` + ) + ); + } + + // TODO: node-os-utils might have a memory leak, more investigation needed + // TODO: doesn't work if spawned with multiple threads + // setInterval(async () => { + // const [cpuUsed, memory, network] = await Promise.all([ + // osu.cpu.usage(), + // osu.mem.info(), + // osu.netstat.inOut(), + // ]); + // var networkUsage = ""; + // if (typeof network === "object") { + // networkUsage = `| [Network]: in ${network.total.inputMb}mb | out ${network.total.outputMb}mb`; + // } + + // console.log( + // `[CPU] ${cpuUsed.toPrecision(3)}% | [Memory] ${Math.round( + // process.memoryUsage().rss / 1024 / 1024 + // )}mb/${memory.totalMemMb.toFixed(0)}mb ${networkUsage}` + // ); + // }, 1000 * 60 * 5); +} |