CpuInfo[] cpuInfoList = sigar.getCpuInfoList(); if (cpuInfoList != null && cpuInfoList.length >= 1) {
CpuInfo[] cpuInfoList = sigar.getCpuInfoList(); if (cpuInfoList != null && cpuInfoList.length >= 1) {
private Collection<Definition> collectMetrics() { final Collection<Definition> definitions = new HashSet<>(); // global addCpu(definitions, "sigar.cpu.", () -> sigar.getCpu()); addMem(definitions); // individual CPU try { final CpuInfo[] cpuInfoList = sigar.getCpuInfoList(); IntStream.range(0, cpuInfoList.length) .forEach(idx -> addCpu(definitions, "sigar.cpu." + idx + ".", () -> sigar.getCpuList()[idx])); } catch (final SigarException se) { // ignore } // network addNetwork(definitions); // filesystem addFileSystem(definitions); return definitions; }
@Check public CPUEvent getCPU() { final CPUEvent cpuEvent = new CPUEvent(); final SigarProxy instance = SystemInstance.get().getComponent(SigarProxy.class); if (instance == null) { return null; } final CPU cpu = new CPU(); try { cpuEvent.setCategory("cpu"); cpuEvent.setSubCategory(instance.getCpuInfoList()[0].getModel()); cpu .setCombinedPercent(instance.getCpuPerc().getCombined() * 100) .setIdleTimePercent(instance.getCpuPerc().getIdle() * 100) .setIrqTimePercent(instance.getCpuPerc().getIrq() * 100) .setNiceTimePercent(instance.getCpuPerc().getNice() * 100) .setSoftIrqPercent(instance.getCpuPerc().getSoftIrq() * 100) .setStolenTimePercent(instance.getCpuPerc().getStolen() * 100) .setSysTimePercent(instance.getCpuPerc().getSys() * 100) .setUserTimePercent(instance.getCpuPerc().getUser() * 100) .setWaitTimePercent(instance.getCpuPerc().getWait() * 100); cpuEvent .setModel(instance.getCpuInfoList()[0].getModel()) .setCpu(cpu); } catch (final SigarException e) { LOGGER.log(LOG_LEVEL, "Error getting cpu metrics from Sigar", e); } return !Double.isNaN(cpu.getUserTimePercent()) ? cpuEvent : null; }