From f385ed91b2b512043b6cef27b8de462025d3d80f Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Mon, 6 Mar 2023 02:22:03 +0000 Subject: [PATCH] added `/server/health` endpoint --- .../endpoints/serverHealth.js | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 packages/server/src/controllers/PublicController/endpoints/serverHealth.js diff --git a/packages/server/src/controllers/PublicController/endpoints/serverHealth.js b/packages/server/src/controllers/PublicController/endpoints/serverHealth.js new file mode 100644 index 00000000..caa02e90 --- /dev/null +++ b/packages/server/src/controllers/PublicController/endpoints/serverHealth.js @@ -0,0 +1,29 @@ +const os = require("os") + +function getUsage() { + let usage = process.cpuUsage() + + usage.time = process.uptime() * 1000 + usage.percent = (usage.system + usage.user) / (usage.time * 10) + + return usage +} + +export default { + method: "GET", + route: "/server/health", + fn: async (req, res) => { + const cpus = os.cpus() + + // get process info, memory usage, etc + const processInfo = { + memoryUsage: process.memoryUsage(), + cpuUsage: getUsage(), + uptime: process.uptime(), + memoryUsage: process.memoryUsage(), + cpus: cpus, + } + + return res.json(processInfo) + } +} \ No newline at end of file