From a738be849f7716d719d99369d746966c4c2b05c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kawa=20Acikgo=CC=88z?= <kawa.acikgoez@open-xchange.com> Date: Mon, 25 Sep 2023 13:29:40 +0200 Subject: [PATCH] Add: Gauge for Redis version --- src/cache.js | 10 ++++++++++ src/version.js | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/cache.js b/src/cache.js index b996c40..eee5712 100644 --- a/src/cache.js +++ b/src/cache.js @@ -37,6 +37,16 @@ export const fileCacheSizeGauge = new Gauge({ help: 'Number of entries in file cache' }) +export const versionCountGauge = new Gauge({ + name: 'redis_version_count_gauge', + help: 'Number of cache versions stored in Redis', + async collect () { + const pattern = `${process.env.REDIS_PREFIX}:*:mergedMetadata` + const results = await redis.client.keys(pattern) + this.set(results.length) + } +}) + export function set (key, value, timeout) { logger.debug(`[Cache] Set ${key}`) if (cache[key] === value) return diff --git a/src/version.js b/src/version.js index 6651a90..e1c9a72 100644 --- a/src/version.js +++ b/src/version.js @@ -189,7 +189,7 @@ export async function updateVersionProcessor (pubClient) { await warmCache({ version: fetchedVersionInfo.version, fetchFiles: true }) await redis.client.set(getRedisKey({ name: 'versionInfo' }), stringifiedVersionInfo) await cache.get(getRedisKey({ version: fetchedVersionInfo.version, name: 'mergedMetadata' }), async () => [await fetchMergedMetadata()]) - versionUpdateGauge.setToCurrentTime({ version: fetchVersionInfo.version }) + versionUpdateGauge.setToCurrentTime({ version: fetchedVersionInfo.version }) logger.info('[Version] publish update to other nodes.') pubClient.publish(getRedisKey({ name: 'updateVersionInfo' }), stringifiedVersionInfo) } else { -- GitLab