diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java b/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java index 5d8c81c70..283de4216 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java @@ -8,6 +8,7 @@ package com.yomahub.liteflow.core; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.StopWatch; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -33,6 +34,7 @@ import com.yomahub.liteflow.monitor.CompStatistics; import com.yomahub.liteflow.monitor.MonitorBus; import java.lang.reflect.Method; +import java.util.Date; import java.util.Deque; import java.util.Map; import java.util.function.Predicate; @@ -104,6 +106,7 @@ public abstract class NodeComponent { cmpStep.setTag(this.getTag()); cmpStep.setInstance(this); cmpStep.setRefNode(this.getRefNode()); + cmpStep.setStartTime(new Date()); slot.addStep(cmpStep); StopWatch stopWatch = new StopWatch(); @@ -146,6 +149,8 @@ public abstract class NodeComponent { final long timeSpent = stopWatch.getTotalTimeMillis(); LOG.info("component[{}] finished in {} milliseconds", this.getDisplayName(), timeSpent); + cmpStep.setEndTime(new Date()); + // 往CmpStep中放入时间消耗信息 cmpStep.setTimeSpent(timeSpent); diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/entity/CmpStep.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/entity/CmpStep.java index f5eff5165..4bade848e 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/entity/CmpStep.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/entity/CmpStep.java @@ -14,6 +14,8 @@ import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.enums.CmpStepTypeEnum; import com.yomahub.liteflow.flow.element.Node; +import java.util.Date; + /** * 组件步骤对象 * @@ -29,6 +31,10 @@ public class CmpStep { private CmpStepTypeEnum stepType; + private Date startTime; + + private Date endTime; + // 消耗的时间,毫秒为单位 private Long timeSpent; @@ -219,4 +225,19 @@ public class CmpStep { this.tag = tag; } + public Date getStartTime() { + return startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public Date getEndTime() { + return endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } }