mirror of https://github.com/xwiki-labs/cryptpad
profile worker commands by total running time in seconds
This commit is contained in:
parent
93c807524f
commit
93d56e5e3d
|
@ -56,6 +56,11 @@ var getCacheStats = function (env, server, cb) {
|
|||
});
|
||||
};
|
||||
|
||||
// CryptPad_AsyncStore.rpc.send('ADMIN', ['GET_WORKER_PROFILES'], console.log)
|
||||
var getWorkerProfiles = function (Env, Server, cb) {
|
||||
cb(void 0, Env.commandTimers);
|
||||
};
|
||||
|
||||
var getActiveSessions = function (Env, Server, cb) {
|
||||
var stats = Server.getSessionStats();
|
||||
cb(void 0, [
|
||||
|
@ -315,6 +320,7 @@ var commands = {
|
|||
INSTANCE_STATUS: instanceStatus,
|
||||
GET_LIMITS: getLimits,
|
||||
SET_LAST_EVICTION: setLastEviction,
|
||||
GET_WORKER_PROFILES: getWorkerProfiles,
|
||||
};
|
||||
|
||||
Admin.command = function (Env, safeKey, data, _cb, Server) {
|
||||
|
|
|
@ -94,6 +94,7 @@ module.exports.create = function (config) {
|
|||
disableIntegratedEviction: config.disableIntegratedEviction || false,
|
||||
lastEviction: +new Date(),
|
||||
evictionReport: {},
|
||||
commandTimers: {},
|
||||
};
|
||||
|
||||
(function () {
|
||||
|
|
|
@ -14,6 +14,14 @@ const DEFAULT_QUERY_TIMEOUT = 60000 * 15; // increased from three to fifteen min
|
|||
Workers.initialize = function (Env, config, _cb) {
|
||||
var cb = Util.once(Util.mkAsync(_cb));
|
||||
|
||||
var incrementTime = function (command, start) {
|
||||
if (!command) { return; }
|
||||
var end = +new Date();
|
||||
var T = Env.commandTimers;
|
||||
var diff = (end - start);
|
||||
T[command] = (T[command] || 0) + (diff / 1000);
|
||||
};
|
||||
|
||||
const workers = [];
|
||||
|
||||
const response = Util.response(function (errLabel, info) {
|
||||
|
@ -112,7 +120,9 @@ Workers.initialize = function (Env, config, _cb) {
|
|||
}
|
||||
|
||||
const txid = guid();
|
||||
var start = +new Date();
|
||||
var cb = Util.once(Util.mkAsync(Util.both(_cb, function (err /*, value */) {
|
||||
incrementTime(msg && msg.command, start);
|
||||
if (err !== 'TIMEOUT') { return; }
|
||||
Log.debug("WORKER_TIMEOUT_CAUSE", msg);
|
||||
// in the event of a timeout the user will receive an error
|
||||
|
|
Loading…
Reference in New Issue