pinus-robot
Version:
pinus-robot is a simple tool to benchmark the socket.io server's performance.
93 lines • 6.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.endTime = exports.beginTime = exports.decr = exports.incr = exports.clear = exports.getData = void 0;
/**
*
* agent monitor data map
*
* every agent put start and end time in to route map
* then report to master
*
*/
const fs = require("fs");
let util = require('../common/util');
let dataMap = {};
let incrMap = {};
let profData = {};
function getData() {
return {
timeData: profData,
incrData: incrMap
};
}
exports.getData = getData;
function clear() {
profData = {};
incrMap = {};
}
exports.clear = clear;
function incr(name) {
incrMap[name] = incrMap[name] == null ? 1 : incrMap[name] + 1;
console.log(incrMap[name] + ' ' + name);
}
exports.incr = incr;
function decr(name) {
incrMap[name] = incrMap[name] == null ? 0 : incrMap[name] - 1;
}
exports.decr = decr;
function beginTime(route, uid, id) {
let time = Date.now();
if (!dataMap[route]) {
dataMap[route] = buildMapData();
}
if (!dataMap[route][uid]) {
dataMap[route][uid] = buildMapData();
dataMap[route][uid][id] = time;
}
dataMap[route][uid][id] = time;
}
exports.beginTime = beginTime;
function endTime(route, uid, id) {
if (!dataMap[route]) {
return;
}
if (!dataMap[route][uid]) {
return;
}
if (!dataMap[route][uid][id]) {
return;
}
let beginTime = dataMap[route][uid][id];
delete dataMap[route][uid][id];
let span = Date.now() - beginTime;
// console.log('route span ' + route+ ' ' + uid + ' ' + span);
// saveTimes(uid,route+":"+span+'\r\n');
let srcData = profData[route];
if (!srcData) {
srcData = { min: span, max: span, avg: span, num: 1 };
profData[route] = srcData;
}
else {
if (span < srcData.min) {
srcData.min = span;
}
if (span > srcData.max) {
srcData.max = span;
}
srcData.avg = (srcData.avg * srcData.num + span) / (srcData.num + 1);
srcData.num = (srcData.num + 1);
}
}
exports.endTime = endTime;
function buildMapData() {
let data = {};
return data;
}
let saveTimes = function (uid, value) {
fs.appendFile(util.getPath() + '/detail', value, function (err) {
if (err) {
console.log(err);
}
});
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9tb25pdG9yL21vbml0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7R0FPRztBQUNILHlCQUF5QjtBQUN6QixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUVyQyxJQUFJLE9BQU8sR0FBMkIsRUFBRSxDQUFDO0FBQ3pDLElBQUksT0FBTyxHQUEyQixFQUFFLENBQUM7QUFDekMsSUFBSSxRQUFRLEdBQTJCLEVBQUUsQ0FBQztBQUUxQyxTQUFnQixPQUFPO0lBQ3JCLE9BQU87UUFDTCxRQUFRLEVBQUUsUUFBUTtRQUNsQixRQUFRLEVBQUUsT0FBTztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUxELDBCQUtDO0FBRUQsU0FBZ0IsS0FBSztJQUNuQixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsT0FBTyxHQUFHLEVBQUUsQ0FBQztBQUNmLENBQUM7QUFIRCxzQkFHQztBQUVELFNBQWdCLElBQUksQ0FBQyxJQUFZO0lBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFIRCxvQkFHQztBQUVELFNBQWdCLElBQUksQ0FBQyxJQUFZO0lBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUZELG9CQUVDO0FBRUQsU0FBZ0IsU0FBUyxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsRUFBVTtJQUM5RCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsWUFBWSxFQUFFLENBQUM7S0FDakM7SUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO0tBQ2hDO0lBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNqQyxDQUFDO0FBVkQsOEJBVUM7QUFFRCxTQUFnQixPQUFPLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxFQUFVO0lBQzVELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbkIsT0FBTztLQUNSO0lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN4QixPQUFPO0tBQ1I7SUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQzVCLE9BQU87S0FDUjtJQUNELElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ2xDLCtEQUErRDtJQUMvRCx3Q0FBd0M7SUFDeEMsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDdEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQztLQUMzQjtTQUFNO1FBQ0wsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUN0QixPQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztTQUNwQjtRQUNELElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDdEIsT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7U0FDcEI7UUFDRCxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyRSxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUNqQztBQUNILENBQUM7QUE3QkQsMEJBNkJDO0FBRUQsU0FBUyxZQUFZO0lBQ25CLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNkLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELElBQUksU0FBUyxHQUFHLFVBQVUsR0FBVyxFQUFFLEtBQWE7SUFDbEQsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEdBQUc7UUFDNUQsSUFBSSxHQUFHLEVBQUU7WUFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMifQ==