diff --git a/app.js b/app.js index 3fb7682..a595584 100644 --- a/app.js +++ b/app.js @@ -25,6 +25,7 @@ import { identifyUser } from "#middleware/identifyUser"; import departmentRouter from "#routes/department"; import paperRouter from "#routes/paper"; import groupRouter from "#routes/group"; +import performarouter from "#routes/performance"; const app = express(); const currDirName = dirname(fileURLToPath(import.meta.url)); @@ -62,5 +63,6 @@ app.use("/paper", paperRouter); app.use("/group", groupRouter); app.use("/semester", semesterRouter); app.use("/faculty", facultyRouter); +app.use("/performance", performarouter); export default app; diff --git a/controller/performance.js b/controller/performance.js new file mode 100644 index 0000000..1aeff19 --- /dev/null +++ b/controller/performance.js @@ -0,0 +1,30 @@ +import os from 'os'; +import semestermodel from '#models/semester' +import dotenv from 'dotenv' + +dotenv.config() +const PORT = process.env.PORT + +async function performance(req, res) { + let start_time_db = new Date().getTime(); + let test_db = await semestermodel.read({}) + .then((res) => { + let time = new Date().getTime() - start_time_db + return time; + }) + let start_time = new Date().getTime(); + fetch(`http://localhost:${PORT}/semester/list`) + .then((res) => { + return res.json(); + }) + .then((data) => { + let time = new Date().getTime() - start_time + res.json({ + response_time: time, cpu: os.cpus(), maxmem: os.totalmem(), freemem: os.freemem(), db_time : test_db + }); + + }) + +} + +export default performance \ No newline at end of file diff --git a/routes/performance.js b/routes/performance.js new file mode 100644 index 0000000..b41410d --- /dev/null +++ b/routes/performance.js @@ -0,0 +1,8 @@ +import express from "express"; +import performacontroller from '#controller/performance'; + +const router = express.Router(); + +router.get('/test', performacontroller) + +export default router; \ No newline at end of file