diff --git a/services/history-v1/backupVerifier/ProjectMetrics.mjs b/services/history-v1/backupVerifier/ProjectMetrics.mjs index cfa74a8473..ff37085787 100644 --- a/services/history-v1/backupVerifier/ProjectMetrics.mjs +++ b/services/history-v1/backupVerifier/ProjectMetrics.mjs @@ -21,15 +21,13 @@ export async function measurePendingChangesBeforeTime(beforeTime) { /** * - * @param {number} graceSeconds - Number of seconds projects are allowed before they must be backed up. + * @param {Date} graceTime * @return {Promise} */ -export async function measureNeverBackedUpProjects(graceSeconds) { - const now = new Date() - const startOfGracePeriod = new Date(now - graceSeconds * 1000) +export async function measureNeverBackedUpProjects(graceTime) { const neverBackedUpCount = await projectsCollection.countDocuments({ 'overleaf.backup.lastBackedUpVersion': null, - _id: { $lt: objectIdFromDate(startOfGracePeriod) }, + _id: { $lt: objectIdFromDate(graceTime) }, }) Metrics.gauge('backup_verification_never_backed_up', neverBackedUpCount) } diff --git a/services/history-v1/backupVerifier/healthCheck.mjs b/services/history-v1/backupVerifier/healthCheck.mjs index 41f5db6d0c..af998748b5 100644 --- a/services/history-v1/backupVerifier/healthCheck.mjs +++ b/services/history-v1/backupVerifier/healthCheck.mjs @@ -27,6 +27,6 @@ export async function healthCheck() { await verifyProjectWithErrorContext(historyId) } - await measurePendingChangesBeforeTime(getEndDateForRPO()) - await measureNeverBackedUpProjects(RPO) + await measurePendingChangesBeforeTime(getEndDateForRPO(2)) + await measureNeverBackedUpProjects(getEndDateForRPO(2)) } diff --git a/services/history-v1/backupVerifier/utils.mjs b/services/history-v1/backupVerifier/utils.mjs index 4cd61f77b3..b2d7ed2d3c 100644 --- a/services/history-v1/backupVerifier/utils.mjs +++ b/services/history-v1/backupVerifier/utils.mjs @@ -12,10 +12,11 @@ export function objectIdFromDate(time) { } /** + * @param {number} [factor] - Multiply RPO by this factor, default is 1 * @return {Date} */ -export function getEndDateForRPO() { - return new Date(Date.now() - RPO) +export function getEndDateForRPO(factor = 1) { + return new Date(Date.now() - RPO * factor) } /**