This commit is contained in:
Looly 2023-02-28 23:15:29 +08:00
parent 1141d57cfd
commit 73d25a2f8b
2 changed files with 38 additions and 5 deletions

View File

@ -386,16 +386,23 @@ public class StopWatch {
sb.append("---------------------------------------------").append(FileUtil.getLineSeparator());
final NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMinimumIntegerDigits(9);
nf.setGroupingUsed(false);
final NumberFormat pf = NumberFormat.getPercentInstance();
pf.setMinimumIntegerDigits(2);
pf.setGroupingUsed(false);
for (final TaskInfo task : getTaskInfo()) {
sb.append(nf.format(task.getTime(unit))).append(" ");
sb.append(pf.format((double) task.getTimeNanos() / getTotalTimeNanos())).append(" ");
final String taskTimeStr = nf.format(task.getTime(unit));
sb.append(taskTimeStr);
if(taskTimeStr.length() < 11){
sb.append(StrUtil.repeat(' ', 11 - taskTimeStr.length()));
}
final String percentStr = pf.format((double) task.getTimeNanos() / getTotalTimeNanos());
if(percentStr.length() < 4){
sb.append(StrUtil.repeat(' ', 4 - percentStr.length()));
}
sb.append(percentStr).append(" ");
sb.append(task.getTaskName()).append(FileUtil.getLineSeparator());
}
}

View File

@ -0,0 +1,26 @@
package cn.hutool.core.date;
import cn.hutool.core.lang.Console;
import cn.hutool.core.thread.ThreadUtil;
import org.junit.Test;
import java.util.concurrent.TimeUnit;
public class StopWatchTest {
/**
* https://gitee.com/dromara/hutool/issues/I6HSBG
*/
@Test
public void prettyPrintTest() {
final StopWatch stopWatch = new StopWatch();
stopWatch.start("任务1");
ThreadUtil.sleep(1);
stopWatch.stop();
stopWatch.start("任务2");
ThreadUtil.sleep(200);
stopWatch.stop();
Console.log(stopWatch.prettyPrint(TimeUnit.MILLISECONDS));
}
}