code: @IgnoreJRERequirement //this method safely checks that the com.sun bean is available before attempting to use its methods
      public static void systemInfo(final Map<String, Object> infos) {
          infos.put("sys.os.name", OS_BEAN.getName());
          infos.put("sys.os.version", OS_BEAN.getVersion());
          infos.put("sys.os.arch", OS_BEAN.getArch());
          infos.put("sys.cpu.num", OS_BEAN.getAvailableProcessors());
          infos.put("sys.cpu.loadAvg", OS_BEAN.getSystemLoadAverage());
  
          try {
              if (OS_BEAN instanceof com.sun.management.OperatingSystemMXBean) {
                  com.sun.management.OperatingSystemMXBean sunBean = (com.sun.management.OperatingSystemMXBean) OS_BEAN;
  
                  infos.put("proc.cpu.time", sunBean.getProcessCpuTime());
                  infos.put("mem.physical.total", sunBean.getTotalPhysicalMemorySize());
                  infos.put("mem.physical.free", sunBean.getFreePhysicalMemorySize());
                  infos.put("mem.virtual.comitted", sunBean.getCommittedVirtualMemorySize());
                  infos.put("mem.swap.total", sunBean.getTotalSwapSpaceSize());
                  infos.put("mem.swap.free", sunBean.getFreeSwapSpaceSize());
              }
          } catch (final Throwable err) {
              LOGGER.debug("com.sun.management.OperatingSystemMXBean not available, skipping extended system info!");
          }
      }
docs: Collects system information as delivered from the {@link OperatingSystemMXBean}.
  
  @param infos a map where the infos are passed in.