code: protected void fillCpuUsage(final ExecutorInfo stats) {
      if (exists_Bash && exists_Cat && exists_LoadAvg) {
        try {
          final ArrayList<String> output = Utils
              .runProcess("/bin/bash", "-c", "/bin/cat /proc/loadavg");
  
          // process the output from bash call.
          if (output.size() > 0) {
            final String[] splitedresult = output.get(0).split("\\s+");
            double cpuUsage = 0.0;
  
            try {
              cpuUsage = Double.parseDouble(splitedresult[0]);
            } catch (final NumberFormatException e) {
              logger.error("yielding 0.0 for CPU usage as output is invalid -" + output.get(0));
            }
            logger.info("System load : " + cpuUsage);
            stats.setCpuUpsage(cpuUsage);
          }
        } catch (final Exception ex) {
          logger.error("failed fetch system load info "
              + "as exception is captured when fetching result from bash call. Ex -" + ex
              .getMessage());
        }
      } else {
        logger.error(
            "failed fetch system load info, one or more files from the following list are missing -  "
                + "'/bin/bash'," + "'/bin/cat'," + "'/proc/loadavg'");
      }
    }
docs: <pre>
  fill the result set with the CPU usage .
  Note : As the 'Top' bash call doesn't yield accurate result for the system load,
  the implementation has been changed to load from the "proc/loadavg" which keeps
  the moving average of the system load, we are pulling the average for the recent 1 min.
  </pre>
  
  @param stats reference to the result container which contains all the results, this specific
  method will only work on the property "cpuUsage".