diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java index 454aa6e51..8a9cec664 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java @@ -24,6 +24,7 @@ import org.springframework.util.StopWatch; import java.math.BigDecimal; import java.math.RoundingMode; +import java.text.NumberFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -139,10 +140,39 @@ public class AMapServiceImpl implements AMapService { List aMapEquipmentInfos = getPileListByStationId(String.valueOf(stationInfo.getId())); aMapInfo.setEquipmentInfos(aMapEquipmentInfos); sw.stop(); - log.info("组装高德数据格式耗时详细:{}", sw.prettyPrint()); + log.info("组装高德数据格式耗时详细:{}", prettyPrintBySecond(sw)); return aMapInfo; } + private String prettyPrintBySecond(StopWatch stopWatch) { + StopWatch.TaskInfo[] taskInfos = stopWatch.getTaskInfo(); + StringBuilder sb = new StringBuilder(); + sb.append('\n'); + sb.append("StopWatch '").append(stopWatch.getId()).append("': running time = ").append(stopWatch.getTotalTimeSeconds()).append(" s"); + sb.append('\n'); + if (taskInfos.length < 1) { + sb.append("No task info kept"); + } else { + sb.append("---------------------------------------------\n"); + sb.append("s % Task name\n"); + sb.append("---------------------------------------------\n"); + NumberFormat nf = NumberFormat.getNumberInstance(); + nf.setMinimumFractionDigits(3); + nf.setGroupingUsed(false); + NumberFormat pf = NumberFormat.getPercentInstance(); + pf.setMinimumIntegerDigits(2); + pf.setMinimumFractionDigits(2); + pf.setGroupingUsed(false); + for (StopWatch.TaskInfo task : taskInfos) { + sb.append(nf.format(task.getTimeSeconds())).append(" "); + sb.append(pf.format((double) task.getTimeNanos() / stopWatch.getTotalTimeNanos())).append(" "); + sb.append(task.getTaskName()).append("\n"); + } + } + return sb.toString(); + } + + /** * 商家推送充电设备动态数据 * @param pileConnectorCode