From 17ded637581b2b8eef1e9e27318767570163b88d Mon Sep 17 00:00:00 2001 From: alikia2x Date: Tue, 25 Mar 2025 22:38:57 +0800 Subject: [PATCH] update: perf monitor for adjustSnapshotTime --- lib/db/snapshotSchedule.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/db/snapshotSchedule.ts b/lib/db/snapshotSchedule.ts index 4816693..26f1df2 100644 --- a/lib/db/snapshotSchedule.ts +++ b/lib/db/snapshotSchedule.ts @@ -181,6 +181,8 @@ export async function adjustSnapshotTime( const targetOffset = Math.floor((expectedStartTime.getTime() - Date.now()) / (5 * MINUTE)); + let timePerIteration = 0; + const t = performance.now(); for (let i = 0; i < WINDOW_SIZE; i++) { const offset = (currentWindow + targetOffset + i) % WINDOW_SIZE; const count = await getWindowCount(redisClient, offset); @@ -197,13 +199,20 @@ export async function adjustSnapshotTime( const now = new Date(); if (delayedDate.getTime() < now.getTime()) { + const elapsed = performance.now() - t; + timePerIteration = elapsed / i; + logger.log(`Time per iteration: ${timePerIteration.toFixed(3)}ms`, "perf", "fn:adjustSnapshotTime"); return now; } - + const elapsed = performance.now() - t; + timePerIteration = elapsed / i; + logger.log(`Time per iteration: ${timePerIteration.toFixed(3)}ms`, "perf", "fn:adjustSnapshotTime"); return delayedDate; } } - + const elapsed = performance.now() - t; + timePerIteration = elapsed / WINDOW_SIZE; + logger.log(`Time per iteration: ${timePerIteration.toFixed(3)}ms`, "perf", "fn:adjustSnapshotTime"); return expectedStartTime; }