From 4dd10162733600c640aae6213136e527ab988849 Mon Sep 17 00:00:00 2001 From: Thomas Wynants Date: Wed, 5 Nov 2025 17:56:57 +0100 Subject: [PATCH] eai-server: make file metrics more failsafe; refresh filestores each cycle and reduce IOException noise in CollaborationListener --- .../java/be/nabu/eai/server/CollaborationListener.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/be/nabu/eai/server/CollaborationListener.java b/src/main/java/be/nabu/eai/server/CollaborationListener.java index 24aa849..e16152d 100644 --- a/src/main/java/be/nabu/eai/server/CollaborationListener.java +++ b/src/main/java/be/nabu/eai/server/CollaborationListener.java @@ -141,7 +141,6 @@ public Void handle(ResourceEvent event) { } }); - final List filestores = SystemMetrics.filestores(); final MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean(); final OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean(); // push server statistics to the developers @@ -164,13 +163,14 @@ public void run() { // MemoryUsage nonHeapMemoryUsage = memoryMXBean.getNonHeapMemoryUsage(); // metrics.add(new ServerStatistic("memory", "nonHeap", date.getTime(), ((100.0 * nonHeapMemoryUsage.getUsed()) / nonHeapMemoryUsage.getMax()))); - for (FileStore store : filestores) { + // Refresh filestores each cycle so disconnected mounts are skipped + for (FileStore store : SystemMetrics.filestores()) { try { - metrics.add(new ServerStatistic("file", store.name(), date.getTime(), (((1.0 * (store.getTotalSpace() - store.getUsableSpace())) / store.getTotalSpace()) * 100))); } catch (IOException e) { - logger.warn("Can't read file statistics for " + store.name(), e); + // Some mounts can disappear between sampling cycles; avoid noisy stack traces + logger.debug("Skipping file statistics for {}: {}", store.name(), e.getMessage()); } } statistics.setStatistics(metrics);