统计输出总耗时
public static void main(String[] args) throws Exception { StopWatch stopWatch = new StopWatch(); stopWatch.start("任务一"); Thread.sleep(2000); stopWatch.stop(); stopWatch.start("任务二"); Thread.sleep(1000); stopWatch.stop(); System.out.println(stopWatch.getTotalTimeNanos()); //纳秒 3006511215 System.out.println(stopWatch.getTotalTimeMillis()); //毫秒 3003 System.out.println(stopWatch.getTotalTimeSeconds()); //秒 3.005637544 }
输出最后一个任务的耗时
public static void main(String[] args) throws Exception { StopWatch stopWatch = new StopWatch(); stopWatch.start("任务一"); Thread.sleep(2000); stopWatch.stop(); stopWatch.start("任务er"); Thread.sleep(1000); stopWatch.stop(); System.out.println(stopWatch.getLastTaskTimeMillis()); //毫秒 1002 System.out.println(stopWatch.getLastTaskTimeNanos()); //纳秒 1008902678 }
以优雅的格式打出所有任务的耗时以及占比
public static void main(String[] args) throws Exception { StopWatch stopWatch = new StopWatch(); stopWatch.start("任务一"); Thread.sleep(2000); stopWatch.stop(); stopWatch.start("任务er"); Thread.sleep(1000); stopWatch.stop(); System.out.println(stopWatch.prettyPrint()); }StopWatch '': running time = 3007597244 ns---------------------------------------------ns % Task name---------------------------------------------2003720282 067% 任务一1003876962 033% 任务二
获取任务列表
public static void main(String[] args) throws Exception { StopWatch stopWatch = new StopWatch(); stopWatch.start("任务一"); Thread.sleep(2000); stopWatch.stop(); stopWatch.start("任务二"); Thread.sleep(1000); stopWatch.stop(); StopWatch.TaskInfo[] taskInfo = stopWatch.getTaskInfo(); for (StopWatch.TaskInfo info : taskInfo) { System.out.println(info.getTaskName()); } }任务一任务二
其他方法
public static void main(String[] args) throws Exception { StopWatch stopWatch = new StopWatch(); stopWatch.start("任务一"); Thread.sleep(2000); stopWatch.stop(); stopWatch.start("任务er"); Thread.sleep(1000); stopWatch.stop(); System.out.println(stopWatch.getTaskCount()); //获取任务数量 System.out.println(stopWatch.getLastTaskName()); //获取最后一个任务名称 System.out.println(stopWatch.getLastTaskInfo());//获取最后一个任务详情 }