diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/MetricsManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/MetricsManager.java index 34e9077bc..8fd39df2d 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/MetricsManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/MetricsManager.java @@ -35,7 +35,8 @@ public class MetricsManager { {"totalTemplates", Gauge.build("total_templates", "Number of total Templates").register()}, {"activeTemplates", Gauge.build("active_templates", "Number of active Templates").register()}, {"usedTemplates", Gauge.build("used_templates", "Number of used Templates").register()}, - {"languages", Gauge.build("languages", "Number of Languages").register()} + {"languages", Gauge.build("languages", "Number of Languages").register()}, + {"totalUsers", Gauge.build("total_users", "Total Number of Users").register()} }).collect(Collectors.toMap(data -> (String)data[0], data -> (Gauge) data[1])); public static void increaseValue(String name, int amount) { @@ -96,6 +97,7 @@ public class MetricsManager { calculateValue("activeTemplates", (int) datasetProfileManager.countAllFinalized()); calculateValue("usedTemplates", (int) datasetProfileManager.countAllUsed()); calculateValue("usersLoggedIn", userManager.countActiveUsers().intValue()); + calculateValue("totalUsers", userManager.countAllUsers().intValue()); long files = Files.list(Paths.get(this.environment.getProperty("userguide.path"))).count(); calculateValue("languages", (int) files); logger.info("Metrics calculation Completed"); diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java index 96c894137..4dfe09d9a 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java @@ -248,5 +248,9 @@ public class UserManager { public Long countActiveUsers(){ return apiContext.getOperationsContext().getDatabaseRepository().getUserTokenDao().asQueryable().where(((builder, root) -> builder.greaterThan(root.get("expiresAt"), new Date()))).count(); } + + public Long countAllUsers(){ + return apiContext.getOperationsContext().getDatabaseRepository().getUserInfoDao().asQueryable().count(); + } }