Use different startTime variables for each processTime check

This should make `processTime` and `redisProcessTime` values from /api/status more accurate
This commit is contained in:
mini-bomba
2022-10-01 15:50:47 +02:00
parent 847f1bbabb
commit c4af2449c3

View File

@@ -11,9 +11,10 @@ export async function getStatus(req: Request, res: Response): Promise<Response>
value = Array.isArray(value) ? value[0] : value; value = Array.isArray(value) ? value[0] : value;
let processTime, redisProcessTime = -1; let processTime, redisProcessTime = -1;
try { try {
const dbStartTime = Date.now();
const dbVersion = await promiseOrTimeout(db.prepare("get", "SELECT key, value FROM config where key = ?", ["version"]), 5000) const dbVersion = await promiseOrTimeout(db.prepare("get", "SELECT key, value FROM config where key = ?", ["version"]), 5000)
.then(e => { .then(e => {
processTime = Date.now() - startTime; processTime = Date.now() - dbStartTime;
return e.value; return e.value;
}) })
.catch(e => { .catch(e => {
@@ -21,9 +22,10 @@ export async function getStatus(req: Request, res: Response): Promise<Response>
return -1; return -1;
}); });
let statusRequests: unknown = 0; let statusRequests: unknown = 0;
const redisStartTime = Date.now();
const numberRequests = await promiseOrTimeout(redis.increment("statusRequest"), 5000) const numberRequests = await promiseOrTimeout(redis.increment("statusRequest"), 5000)
.then(e => { .then(e => {
redisProcessTime = Date.now() - startTime; redisProcessTime = Date.now() - redisStartTime;
return e; return e;
}).catch(e => { }).catch(e => {
Logger.error(`status: redis increment timed out ${e}`); Logger.error(`status: redis increment timed out ${e}`);