diff options
author | gjoranv <gv@verizonmedia.com> | 2019-08-19 17:07:07 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2019-08-19 17:07:07 +0200 |
commit | e7ed1c632fa928840b698c525a32ee9b67c9630f (patch) | |
tree | 25aefeaf30662b997dbc2031d0014d55b92f96a4 /metrics-proxy | |
parent | 3bc6d78ad6ae8e00858e2c8adfdefebcfa38652b (diff) |
Start SystemPoller only when running on Linux.
Diffstat (limited to 'metrics-proxy')
-rw-r--r-- | metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/SystemPollerProvider.java | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/SystemPollerProvider.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/SystemPollerProvider.java index 30fd79c1338..ea47933ddf0 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/SystemPollerProvider.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/SystemPollerProvider.java @@ -19,16 +19,30 @@ public class SystemPollerProvider implements Provider<SystemPoller> { * @param monitoringConfig The interval in seconds between each polling. */ public SystemPollerProvider (VespaServices services, MonitoringConfig monitoringConfig) { - poller = new SystemPoller(services.getVespaServices(), 60 * monitoringConfig.intervalMinutes()); - poller.poll(); + if (runningOnLinux()) { + poller = new SystemPoller(services.getVespaServices(), 60 * monitoringConfig.intervalMinutes()); + poller.poll(); + } else { + poller = null; + } } public void deconstruct() { - poller.stop(); + if (poller != null) poller.stop(); } public SystemPoller get() { + if (poller == null) { + throw new IllegalStateException("System poller is only available on Linux, current OS is" + getOs()); + } return poller; } + private static boolean runningOnLinux() { + return getOs().contains("nux"); + } + + private static String getOs() { + return System.getProperty("os.name"); + } } |