UNPKG

legendaryjs

Version:

LegendaryJS – The ultimate backend framework for speed, power, and simplicity.

43 lines (36 loc) 947 B
let stats = { requests: 0, endpoints: {}, memory: {}, activeUsers: new Set() }; function devMiddleware(req, res, next) { const start = Date.now(); stats.requests++; res.on('finish', () => { const time = Date.now() - start; const key = `${req.method} ${req.originalUrl}`; if (!stats.endpoints[key]) { stats.endpoints[key] = { count: 0, lastTime: 0 }; } stats.endpoints[key].count++; stats.endpoints[key].lastTime = time; }); next(); } function socketTrack(socket) { stats.activeUsers.add(socket.id); socket.on('disconnect', () => { stats.activeUsers.delete(socket.id); }); } function getStats() { stats.memory = process.memoryUsage(); return { requests: stats.requests, endpoints: stats.endpoints, memory: stats.memory, activeUsers: stats.activeUsers.size }; } module.exports = { devMiddleware, socketTrack, getStats };