From c6545469f66afbba954cc9113297df001f5bb3cf Mon Sep 17 00:00:00 2001 From: zendwang Date: Fri, 26 Mar 2021 16:46:37 +0800 Subject: [PATCH] =?UTF-8?q?bug=20#I3CT9A=20=E7=9B=91=E6=8E=A7=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E7=9A=84=E8=80=97=E6=97=B6=E4=B8=8D=E5=87=86=E7=A1=AE?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yomahub/liteflow/monitor/MonitorBus.java | 5 ++-- .../monitor/BoundedPriorityQueueTest.java | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 liteflow-core/src/test/java/com/yomahub/liteflow/monitor/BoundedPriorityQueueTest.java 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()); + } + } +}