Added warning message if OperatingSystemMXBean not available

Also corrected spacing after code review comments.

Fixes #11786
This commit is contained in:
Rob Bavey 2020-04-24 10:08:46 -04:00 committed by Robert Bavey
parent caa40036bc
commit 51431af405
2 changed files with 7 additions and 2 deletions

View file

@ -28,12 +28,16 @@ import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.logstash.Logstash;
import org.logstash.LogstashJavaCompat;
public class ProcessMonitor {
private static final OperatingSystemMXBean osMxBean = ManagementFactory.getOperatingSystemMXBean();
private static final Method CPU_LOAD_METHOD = getCpuLoadMethod();
private static final Logger LOGGER = LogManager.getLogger(ProcessMonitor.class);
public static class Report {
private long memTotalVirtualInBytes = -1;
@ -118,6 +122,7 @@ public class ProcessMonitor {
String methodName = (LogstashJavaCompat.isJavaAtLeast(14)) ? "getCpuLoad" : "getSystemCpuLoad";
return Class.forName("com.sun.management.OperatingSystemMXBean").getMethod(methodName);
} catch (ReflectiveOperationException e){
LOGGER.warn("OperatingSystemMXBean CPU load method not available, CPU load will not be measured", e);
return null;
}
}