truta-monitor
Version:
Framework for monitoring application performance in real time.
34 lines (26 loc) • 953 B
JavaScript
const express = require('express');
const http = require('http');
const socketIo = require('socket.io');
const os = require('os');
const path = require('path');
const app = express();
const server = http.createServer(app);
const io = socketIo(server);
const projectName = path.basename(__dirname);
app.use(express.static('public'));
app.get('/project-name', (req, res) => {
res.json({ projectName });
});
io.on('connection', (socket) => {
console.log('Novo cliente conectado');
setInterval(() => {
const cpuUsage = os.loadavg()[0] * 100;
const memoryUsage = (os.totalmem() - os.freemem()) / os.totalmem() * 100;
socket.emit('metrics', { cpuUsage, memoryUsage });
}, 1000);
socket.on('disconnect', () => {
console.log('Cliente desconectado');
});
});
const port = 3000;
server.listen(port, () => console.log(`Servidor rodando em http://localhost:${port}`));