sync/src/counters.js

38 lines
967 B
JavaScript
Raw Normal View History

2015-09-17 23:29:32 -07:00
var Logger = require('./logger');
var counterLog = new Logger.Logger('counters.log');
import os from 'os';
import io from 'socket.io';
2015-10-30 22:25:00 -07:00
import Socket from 'socket.io/lib/socket';
2015-09-17 23:29:32 -07:00
var counters = {};
exports.add = function (counter, value) {
if (!value) {
value = 1;
}
if (!counters.hasOwnProperty(counter)) {
counters[counter] = value;
} else {
counters[counter] += value;
}
};
2015-10-30 22:25:00 -07:00
Socket.prototype._packet = Socket.prototype.packet;
Socket.prototype.packet = function () {
this._packet.apply(this, arguments);
exports.add('socket.io:packet');
};
2015-09-17 23:29:32 -07:00
setInterval(function () {
try {
counters['memory:rss'] = process.memoryUsage().rss / 1048576;
counters['load:1min'] = os.loadavg()[0];
2015-10-30 22:25:00 -07:00
counters['socket.io:count'] = io.instance.sockets.sockets.length;
counterLog.log(JSON.stringify(counters));
} catch (e) {
Logger.errlog.log(e.stack);
}
2015-09-17 23:29:32 -07:00
counters = {};
}, 60000);