diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java b/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java index 40d7e7542..b1333577b 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java @@ -88,10 +88,9 @@ public class MonitorBus { public void printStatistics(){ try{ Map compAverageTimeSpent = new HashMap(); - - long totalTimeSpent = 0; - + for(Entry> entry : statisticsMap.entrySet()){ + long totalTimeSpent = 0; for(CompStatistics statistics : entry.getValue()){ totalTimeSpent += statistics.getTimeSpent(); } diff --git a/liteflow-core/src/test/java/com/yomahub/liteflow/monitor/BoundedPriorityQueueTest.java b/liteflow-core/src/test/java/com/yomahub/liteflow/monitor/BoundedPriorityQueueTest.java new file mode 100644 index 000000000..a705ba105 --- /dev/null +++ b/liteflow-core/src/test/java/com/yomahub/liteflow/monitor/BoundedPriorityQueueTest.java @@ -0,0 +1,28 @@ +package com.yomahub.liteflow.monitor; + +import java.util.Iterator; +import java.util.PriorityQueue; +import cn.hutool.core.collection.BoundedPriorityQueue; +import cn.hutool.core.util.RandomUtil; +import org.junit.Test; + +import com.yomahub.liteflow.entity.monitor.CompStatistics; + +public class BoundedPriorityQueueTest { + + @Test + public void test() throws InterruptedException { + PriorityQueue queue = new BoundedPriorityQueue<>(6); + for (int i = 0; i < 20 ; i ++) { + long randomTime = RandomUtil.randomLong(20); + Thread.sleep(randomTime); + queue.add(new CompStatistics("comp" + i, randomTime)); + } + + Iterator iterator = queue.iterator(); + while(iterator.hasNext()) { + CompStatistics compStatistics = iterator.next(); + System.out.println(compStatistics.getComponentClazzName() + " " + compStatistics.getTimeSpent()); + } + } +}