Merge branch 'soon' into staging

This commit is contained in:
ansuz 2020-12-08 11:14:53 +05:30
commit 820f2a0054
4 changed files with 21 additions and 2 deletions

View file

@ -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, [
@ -322,6 +327,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) {

View file

@ -94,6 +94,7 @@ module.exports.create = function (config) {
disableIntegratedEviction: config.disableIntegratedEviction || false,
lastEviction: +new Date(),
evictionReport: {},
commandTimers: {},
};
(function () {

View file

@ -230,8 +230,10 @@ const computeIndexFromOffset = function (channelName, offset, cb) {
var diff = new_start - start;
Env.Log.info('WORKER_OFFSET_UPDATE', {
channel: channelName,
old_start: start,
new_start: new_start,
start: start,
startMB: start / 1024 / 1024,
update: new_start,
updateMB: new_start / 1024 / 1024,
diff: diff,
diffMB: diff / 1024 / 1024,
});

View file

@ -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