moving ThreadCpuTime.getDiff into Sigar.getThreadCpuDiff
This commit is contained in:
parent
a169dba74b
commit
921a4ce41c
|
@ -461,6 +461,39 @@ public class Sigar implements SigarProxy {
|
|||
return getProcPort(Integer.parseInt(port));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the cumulative cpu time for the calling thread.
|
||||
*/
|
||||
public ThreadCpu getThreadCpu() throws SigarException {
|
||||
return ThreadCpu.fetch(this, 0);
|
||||
}
|
||||
|
||||
private ThreadCpu diff = null;
|
||||
|
||||
/**
|
||||
* Get cpu time since the last time cpu.gather was called
|
||||
* for the calling thread.
|
||||
*/
|
||||
public ThreadCpu getThreadCpuDiff(ThreadCpu cpu)
|
||||
throws SigarException {
|
||||
|
||||
long startTotal = cpu.total;
|
||||
long startUser = cpu.user;
|
||||
long startSys = cpu.sys;
|
||||
|
||||
if (this.diff == null) {
|
||||
this.diff = new ThreadCpu();
|
||||
}
|
||||
|
||||
cpu.gather(this, 0);
|
||||
|
||||
this.diff.total = cpu.total - startTotal;
|
||||
this.diff.user = cpu.user - startUser;
|
||||
this.diff.sys = cpu.sys - startSys;
|
||||
|
||||
return this.diff;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of file systems.
|
||||
* @exception SigarException on failure.
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
package net.hyperic.sigar;
|
||||
|
||||
public class ThreadCpuTime extends ThreadCpu {
|
||||
private ThreadCpu diff = null;
|
||||
private Sigar sigar;
|
||||
|
||||
public ThreadCpuTime(Sigar sigar) {
|
||||
super();
|
||||
this.sigar = sigar;
|
||||
}
|
||||
|
||||
public void getCurrent() throws SigarException {
|
||||
this.gather(this.sigar, 0);
|
||||
}
|
||||
|
||||
public ThreadCpu getDiff() throws SigarException {
|
||||
long startTotal = this.total;
|
||||
long startUser = this.user;
|
||||
long startSys = this.sys;
|
||||
|
||||
if (this.diff == null) {
|
||||
this.diff = new ThreadCpu();
|
||||
}
|
||||
|
||||
getCurrent();
|
||||
|
||||
this.diff.total = this.total - startTotal;
|
||||
this.diff.user = this.user - startUser;
|
||||
this.diff.sys = this.sys - startSys;
|
||||
|
||||
return this.diff;
|
||||
}
|
||||
}
|
|
@ -3,7 +3,6 @@ package net.hyperic.sigar.test;
|
|||
import net.hyperic.sigar.Sigar;
|
||||
import net.hyperic.sigar.SigarNotImplementedException;
|
||||
import net.hyperic.sigar.ThreadCpu;
|
||||
import net.hyperic.sigar.ThreadCpuTime;
|
||||
|
||||
public class TestThreadCpu extends SigarTestCase {
|
||||
|
||||
|
@ -14,10 +13,9 @@ public class TestThreadCpu extends SigarTestCase {
|
|||
public void testCreate() throws Exception {
|
||||
Sigar sigar = new Sigar();
|
||||
|
||||
ThreadCpuTime cpu = new ThreadCpuTime(sigar);
|
||||
|
||||
ThreadCpu cpu;
|
||||
try {
|
||||
cpu.getCurrent();
|
||||
cpu = sigar.getThreadCpu();
|
||||
} catch (SigarNotImplementedException e) {
|
||||
return;
|
||||
}
|
||||
|
@ -34,7 +32,7 @@ public class TestThreadCpu extends SigarTestCase {
|
|||
|
||||
traceln("\nDiff...\n");
|
||||
|
||||
ThreadCpu diff = cpu.getDiff();
|
||||
ThreadCpu diff = sigar.getThreadCpuDiff(cpu);
|
||||
|
||||
assertGtEqZeroTrace("User", diff.getUser());
|
||||
|
||||
|
|
Loading…
Reference in New Issue