Compare commits

...

2 Commits

Author SHA1 Message Date
Bas950
9cf3f93889 chore: release v0.0.36 2024-09-24 13:47:54 +02:00
Bas950
0e30a0d250 chore: scan keys instead 2024-09-24 13:47:39 +02:00
2 changed files with 10 additions and 2 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "@premid/api-master",
"type": "module",
"version": "0.0.35",
"version": "0.0.36",
"private": true,
"description": "PreMiD's api master",
"license": "MPL-2.0",

View File

@@ -3,6 +3,8 @@ import { Counter, Gauge, Registry, collectDefaultMetrics } from "prom-client";
import { updateActivePresenceGauge, updateActivePresenceGaugeLimit } from "./functions/updateActivePresenceGauge.js";
import { redis } from "./index.js";
const scanCount = Number.parseInt(process.env.SCAN_COUNT || "1000", 10);
export const register = new Registry();
collectDefaultMetrics({ register });
@@ -11,7 +13,13 @@ export const activeSessionsCounter = new Counter({
help: "Number of active sessions",
async collect() {
this.reset();
const length = await redis.hlen("pmd-api.sessions");
let length = 0;
let cursor = "0";
do {
const reply = await redis.scan(cursor, "MATCH", "pmd-api.sessions.*", "COUNT", scanCount);
cursor = reply[0];
length += reply[1].length;
} while (cursor !== "0");
this.inc(length);
},
});