@Override public boolean doMonitor(ServiceEmitter emitter) { // process CPU try { ProcCpu procCpu = sigar.getProcCpu(currentProcessId); final ServiceMetricEvent.Builder builder = builder(); MonitorUtils.addDimensionsToBuilder(builder, dimensions); // delta for total, sys, user Map<String, Long> procDiff = diff.to( "proc/cpu", ImmutableMap.of( "jvm/cpu/total", procCpu.getTotal(), "jvm/cpu/sys", procCpu.getSys(), "jvm/cpu/user", procCpu.getUser() ) ); if (procDiff != null) { for (Map.Entry<String, Long> entry : procDiff.entrySet()) { emitter.emit(builder.build(entry.getKey(), entry.getValue())); } } emitter.emit(builder.build("jvm/cpu/percent", procCpu.getPercent())); } catch (SigarException e) { log.error(e, "Failed to get ProcCpu"); } return true; } }
@Override public Object getValueAndReset() { try { ProcCpu cpu = _sigar.getProcCpu(_pid); long userTotal = cpu.getUser(); long sysTotal = cpu.getSys(); long user = userTotal - _prevUser; long sys = sysTotal - _prevSys; _prevUser = userTotal; _prevSys = sysTotal; HashMap<String, Long> ret = new HashMap<String, Long>(); ret.put("user-ms", user); ret.put("sys-ms", sys); return ret; } catch (Exception e) { throw new RuntimeException(e); } } }
cpuPerc = CpuPerc.format(cpu.getPercent()); } catch (SigarException e) {
_startTime = _procCpu.getStartTime(); } catch (SigarException e) { _startTime = Sigar.FIELD_NOTIMPL; _cpuTotal = _procCpu.getTotal(); _cpuPerc = _procCpu.getPercent(); } else { _cpuPerc = _cpuTotal = Sigar.FIELD_NOTIMPL;
cpuPerc = procCpu.getPercent(); cpuTotal = procCpu.getTotal(); cpuTime = System.currentTimeMillis();
@Override public Double getValue() { final ProcCpu procCpu = context.get(); final double cpuTime = procCpu.getTotal() - prevTotal; final long elapsedTime = procCpu.getLastTime() - prevTime; final double result = cpuTime / elapsedTime * 100 / processors; prevTotal = procCpu.getTotal(); prevTime = procCpu.getLastTime(); return result; } };
public Gauge<Double> createProcessCpuLoadGauge() { return new InternalGauge<Double>(context) { private long prevTotal = context.get().getTotal(); private long prevTime = context.get().getStartTime(); @Override public Double getValue() { final ProcCpu procCpu = context.get(); final double cpuTime = procCpu.getTotal() - prevTotal; final long elapsedTime = procCpu.getLastTime() - prevTime; final double result = cpuTime / elapsedTime * 100 / processors; prevTotal = procCpu.getTotal(); prevTime = procCpu.getLastTime(); return result; } }; }
@Override public long computeValue() throws SigarException { return sigar.getProcCpu(pid).getStartTime(); } });
double value = cpu.getPercent() * 100.0D/cpuCores; meter.add(value); float procCpu = (float) meter.getAvg(Configure.getInstance()._cpu_value_avg_sec);
@Override public Long getValue() { return context.get().getTotal(); } };
try { ProcCpu curPc = sigar.getProcCpu(pid); long totalDelta = curPc.getTotal() - prevPc.getTotal(); long timeDelta = curPc.getLastTime() - prevPc.getLastTime(); if (totalDelta == 0) { if (timeDelta > TOTAL_TIME_UPDATE_LIMIT) load = 0;
@Override public long computeValue() throws SigarException { return sigar.getProcCpu(pid).getUser(); } });
@Override public long computeValue() throws SigarException { return sigar.getProcCpu(pid).getSys(); } });
ProcCpu procCpu = sigar.getProcCpu(pid); cpu = ProcessStats.Cpu.create( (short) (procCpu.getPercent() * 100), procCpu.getSys(), procCpu.getUser(), procCpu.getTotal()); } catch (SigarException e) { cpu = null;
cpuLv.add((float)(cpu.getPercent() * 100 /cpuCores)); } catch (Exception e) { cpuLv.add(0);
@Override public long computeValue() throws SigarException { return sigar.getProcCpu(pid).getTotal(); } });
long getProcessCpuTimeRunningUser( long pid ) { try { if( !isFaultyProcess( pid ) ) { return sigar.getProcCpu( pid ).getUser(); } } catch( SigarException se ) { updateFaultyProcessesList( pid ); } return -1; }