From d2daae5857648200fa262fe1a03b749b4b2cdaf3 Mon Sep 17 00:00:00 2001 From: Jaanus Sellin Date: Wed, 13 Nov 2024 16:00:47 +0200 Subject: [PATCH] feat: prometheus now gets licensed users data (#8740) We have the licensed users service implemented, this just spread the data to prometheus. --- src/lib/metrics.test.ts | 6 ++++++ src/lib/metrics.ts | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/lib/metrics.test.ts b/src/lib/metrics.test.ts index 0c22078f27..4206024281 100644 --- a/src/lib/metrics.test.ts +++ b/src/lib/metrics.test.ts @@ -359,3 +359,9 @@ test('should collect traffic_total metrics', async () => { await prometheusRegister.getSingleMetricAsString('traffic_total'); expect(recordedMetric).toMatch(/traffic_total 0/); }); + +test('should collect licensed_users metrics', async () => { + const recordedMetric = + await prometheusRegister.getSingleMetricAsString('licensed_users'); + expect(recordedMetric).toMatch(/licensed_users 0/); +}); diff --git a/src/lib/metrics.ts b/src/lib/metrics.ts index 49108effa8..deabf87119 100644 --- a/src/lib/metrics.ts +++ b/src/lib/metrics.ts @@ -650,6 +650,11 @@ export function registerPrometheusMetrics( resourceLimit.labels({ resource }).set(limit); } + const licensedUsers = createGauge({ + name: 'licensed_users', + help: 'The number of licensed users.', + }); + const addonEventsHandledCounter = createCounter({ name: 'addon_events_handled', help: 'Events handled by addons and the result.', @@ -1018,6 +1023,11 @@ export function registerPrometheusMetrics( usersActive90days.reset(); usersActive90days.set(activeUsers.last90); + const licensedUsersStat = + await instanceStatsService.getLicencedUsers(); + licensedUsers.reset(); + licensedUsers.set(licensedUsersStat); + const productionChanges = await instanceStatsService.getProductionChanges(); productionChanges30.reset();