package org.zstack.utils.stopwatch;
import java.util.concurrent.TimeUnit;
public class StopWatchImpl implements StopWatch {
private long start = 0;
private long end = 0;
private boolean isRunning = false;
@Override
public void start() {
start = System.currentTimeMillis();
isRunning = true;
}
@Override
public void stop() {
end = System.currentTimeMillis();
isRunning = false;
}
@Override
public long getLapse() {
if (!isRunning) {
return end - start;
} else {
return System.currentTimeMillis() - start;
}
}
@Override
public long getLapse(TimeUnit unit) {
return unit.convert(getLapse(), TimeUnit.MILLISECONDS);
}
}