浏览代码

完善分析日志记录

andyliu 1 周之前
父节点
当前提交
9733547eaa

+ 42 - 23
src/main/java/com/shkpr/service/warncore/bizhandler/SiteDataWarnHandler.java

@@ -279,11 +279,11 @@ public class SiteDataWarnHandler {
                 }
                 if (code != ResponseCode.RESULT_NORMAL)
                     break;
-
                 if (!matched){//本次没有匹配成功
+                    step = "This is not matched.";
                     thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                     thisTempStep.setLastCompareSampleResult(COMPARE_FALSE);
-                    thisTempStep.setLastCompareSampleExplain("This is not matched.");
+                    thisTempStep.setLastCompareSampleExplain(step);
                     thisTempStep.setFirstMatchSampleTime(0L);
                     thisTempStep.setLastEventId("");
                     thisTempStep.setLastEventTime(0L);
@@ -291,48 +291,53 @@ public class SiteDataWarnHandler {
                 }//本次匹配成功进入下一步
 
                 if (thisTempStep.getLastCompareSampleResult() <= COMPARE_FALSE){//上一次没有匹配成功
+                    step = "This is matched, but last is not matched.";
                     thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                     thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                     thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
-                    thisTempStep.setLastCompareSampleExplain("This is matched, but last is not matched.");
+                    thisTempStep.setLastCompareSampleExplain(step);
                     continue;
                 }//上一次匹配成功了进入下一步
 
                 long triggerEventPeriodSwitch = planDetail.getFrequency()*planDetail.getThreshold()*TimeTool.MS_ONE_MIN;//触发预警事件的最小时长(单位:毫秒)
                 long diffMatch = sampleRecordTm-thisTempStep.getLastCompareSampleTime();//两个最近匹配样本之间的采集时间差(单位:毫秒)
                 if (diffMatch > triggerEventPeriodSwitch){//两个最近匹配样本间缺失的数据太多、或跨了天、或跨了时段,可认为重新计数
+                    step = "This is matched, but two matched sample is too distance.";
                     thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                     thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                     thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
                     thisTempStep.setLastEventId("");
                     thisTempStep.setLastEventTime(0L);
-                    thisTempStep.setLastCompareSampleExplain("This is matched, but two matched sample is too distance.");
+                    thisTempStep.setLastCompareSampleExplain(step);
                     continue;
                 }//两个最近匹配样本间隔很近,可认为是持续匹配,则进入下一步
 
                 if (thisTempStep.getLastCompareSampleTime() < thisTempStep.getConditionMinUTC()){//上一个匹配样本是非当前天的,可认为重新计数
+                    step = "This is matched, but last is not today.";
                     thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                     thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                     thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
                     thisTempStep.setLastEventId("");
                     thisTempStep.setLastEventTime(0L);
-                    thisTempStep.setLastCompareSampleExplain("This is matched, but last is not today.");
+                    thisTempStep.setLastCompareSampleExplain(step);
                     continue;
                 }//上一个匹配样本是当天的,则进入下一步
 
                 long matchLen = (thisTempStep.getFirstMatchSampleTime()<=0)?0:(sampleRecordTm-thisTempStep.getFirstMatchSampleTime());//样本匹配的持续时长(单位:毫秒)
                 if (StringUtils.isEmpty(thisTempStep.getLastEventId())){//之前无预警事件
                     if (matchLen < triggerEventPeriodSwitch){//还得持续等待,达不到触发事件的累计时长
+                        step = "This is matched, but need wait the next matched.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
-                        thisTempStep.setLastCompareSampleExplain("This is matched, but need wait the next matched.");
+                        thisTempStep.setLastCompareSampleExplain(step);
                         if (thisTempStep.getFirstMatchSampleTime() <= 0)
                             thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
                     }else {//触发一个新的事件
+                        step = "This is matched, and will gen event.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                         thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                        thisTempStep.setLastCompareSampleExplain("This is matched, and will gen event.");
+                        thisTempStep.setLastCompareSampleExplain(step);
 
                         JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                         newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -343,25 +348,26 @@ public class SiteDataWarnHandler {
                     }
                 }else {//之前有预警事件
                     if (planDetail.getMergeToEvent() == 0 || thisTempStep.getLastEventAction() >= EventAction.DONE){//之前的预警事件已处理,则可认为进行重新计数
+                        step = "This is matched, but need to wait the next matched.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                         thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
                         thisTempStep.setLastEventId("");
                         thisTempStep.setLastEventTime(0L);
-                        thisTempStep.setLastCompareSampleExplain("This is matched, but need to wait the next matched.");
+                        thisTempStep.setLastCompareSampleExplain(step);
                     }else {//之前的预警事件未处理,则更新预警事件的样本截止时刻
+                        step = "This is matched, but need to merge the last event.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                         if (newEvent2Gen.containsKey(thisTempStep.getLastEventId())){
                             newEvent2Gen.get(thisTempStep.getLastEventId()).setToTime(sampleRecordTm);
                         }else
                             oldEvent2EndUTC.put(thisTempStep.getLastEventId(), sampleRecordTm);
-                        thisTempStep.setLastCompareSampleExplain("This is matched, but need to merge the last event.");
+                        thisTempStep.setLastCompareSampleExplain(step);
                     }
                 }
             }
         }while (false);
-
         thisTempStep.setLastAnalyExplain(step);
         Map<String, Object> updatePlan = thisTempStep.genUpdatePlan();
         updatePlan.put(OrdWarnPlanInfoTable.W_INFO.VERSION, planDetail.getVersion()+1);
@@ -502,24 +508,27 @@ public class SiteDataWarnHandler {
                     break;
 
                 if (!matched){//本次没有匹配成功
+                    step = "This is not matched.";
                     thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                     thisTempStep.setLastCompareSampleResult(COMPARE_FALSE);
                     thisTempStep.setFirstMatchSampleTime(0L);
                     thisTempStep.setLastEventId("");
                     thisTempStep.setLastEventTime(0L);
-                    thisTempStep.setLastCompareSampleExplain("This is not matched.");
+                    thisTempStep.setLastCompareSampleExplain(step);
                     continue;
                 }//本次匹配成功进入下一步
 
                 long triggerEventPeriodSwitch = planDetail.getFrequency()*planDetail.getThreshold();//触发预警事件的最小时长(单位:小时)
                 if (thisTempStep.getLastCompareSampleResult() <= COMPARE_FALSE){//上一次没有匹配成功
+                    step = "This is matched, but last is not matched.";
                     thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                     thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                     thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
-                    thisTempStep.setLastCompareSampleExplain("This is matched, but last is not matched.");
+                    thisTempStep.setLastCompareSampleExplain(step);
                     if (triggerEventPeriodSwitch <= 1){//触发事件
+                        step = "This is matched and trigger short period, it will gen event.";
                         thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                        thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
+                        thisTempStep.setLastCompareSampleExplain(step);
 
                         JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                         newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -532,13 +541,15 @@ public class SiteDataWarnHandler {
 
                 long diffMatch = (sampleRecordTm-thisTempStep.getLastCompareSampleTime())/TimeTool.MS_ONE_HOUR;//两个最近匹配样本之间的采集时间差(单位:小时)
                 if (diffMatch > triggerEventPeriodSwitch){//两个最近匹配样本间缺失的数据太多、或跨了天、或跨了时段,可认为重新计数
+                    step = "This is matched, but two matched sample is too distance.";
                     thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                     thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                     thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
-                    thisTempStep.setLastCompareSampleExplain("This is matched, but two matched sample is too distance.");
+                    thisTempStep.setLastCompareSampleExplain(step);
                     if (triggerEventPeriodSwitch <= 1){//触发事件
+                        step = "This is matched and trigger short period, it will gen event.";
                         thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                        thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
+                        thisTempStep.setLastCompareSampleExplain(step);
 
                         JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                         newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -553,13 +564,15 @@ public class SiteDataWarnHandler {
                 }//两个最近匹配样本间隔很近,可认为是持续匹配,则进入下一步
 
                 if (thisTempStep.getLastCompareSampleTime() < thisTempStep.getConditionMinUTC()){//上一个匹配样本是非当前天的,可认为重新计数
+                    step = "This is matched, but last is not today.";
                     thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                     thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                     thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
-                    thisTempStep.setLastCompareSampleExplain("This is matched, but last is not today.");
+                    thisTempStep.setLastCompareSampleExplain(step);
                     if (triggerEventPeriodSwitch <= 1){//触发事件
+                        step = "This is matched and trigger short period, it will gen event.";
                         thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                        thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
+                        thisTempStep.setLastCompareSampleExplain(step);
 
                         JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                         newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -576,14 +589,16 @@ public class SiteDataWarnHandler {
                 long matchLen = (thisTempStep.getFirstMatchSampleTime()<=0)?0:(((sampleRecordTm-thisTempStep.getFirstMatchSampleTime())/TimeTool.MS_ONE_HOUR)+1);//样本匹配的持续时长(单位:小时)
                 if (StringUtils.isEmpty(thisTempStep.getLastEventId())){//之前无预警事件
                     if (matchLen < triggerEventPeriodSwitch){//还得持续等待,达不到触发事件的累计时长
+                        step = "This is matched, but need wait the next matched.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
-                        thisTempStep.setLastCompareSampleExplain("This is matched, but need wait the next matched.");
+                        thisTempStep.setLastCompareSampleExplain(step);
                         if (thisTempStep.getFirstMatchSampleTime() <= 0){
                             thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
                             if (triggerEventPeriodSwitch <= 1){//补充触发事件
+                                step = "This is matched and trigger short period, it will gen event.";
                                 thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                                thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
+                                thisTempStep.setLastCompareSampleExplain(step);
 
                                 JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                                 newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -593,10 +608,11 @@ public class SiteDataWarnHandler {
                             }
                         }
                     }else {//触发一个新的事件
+                        step = "This is matched, and will gen event.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                         thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                        thisTempStep.setLastCompareSampleExplain("This is matched, and will gen event.");
+                        thisTempStep.setLastCompareSampleExplain(step);
 
                         JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                         newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -607,13 +623,15 @@ public class SiteDataWarnHandler {
                     }
                 }else {//之前有预警事件
                     if (planDetail.getMergeToEvent() == 0 || thisTempStep.getLastEventAction() >= EventAction.DONE){//之前的预警事件已处理,则可认为进行重新计数
+                        step = "This is matched, but need to wait the next matched.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                         thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
-                        thisTempStep.setLastCompareSampleExplain("This is matched, but need to wait the next matched.");
+                        thisTempStep.setLastCompareSampleExplain(step);
                         if (triggerEventPeriodSwitch <= 1){//触发事件
+                            step = "This is matched and trigger short period, it will gen event.";
                             thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                            thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
+                            thisTempStep.setLastCompareSampleExplain(step);
 
                             JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                             newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -625,13 +643,14 @@ public class SiteDataWarnHandler {
                             thisTempStep.setLastEventTime(0L);
                         }
                     }else {//之前的预警事件未处理,则更新预警事件的样本截止时刻
+                        step = "This is matched, but need to merge the last event.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                         if (newEvent2Gen.containsKey(thisTempStep.getLastEventId())){
                             newEvent2Gen.get(thisTempStep.getLastEventId()).setToTime(sampleRecordTm);
                         }else
                             oldEvent2EndUTC.put(thisTempStep.getLastEventId(), sampleRecordTm);
-                        thisTempStep.setLastCompareSampleExplain("This is matched, but need to merge the last event.");
+                        thisTempStep.setLastCompareSampleExplain(step);
                     }
                 }
             }

+ 26 - 15
src/main/java/com/shkpr/service/warncore/bizhandler/ZoneDataWarnHandler.java

@@ -476,24 +476,27 @@ public class ZoneDataWarnHandler {
                     break;
 
                 if (!matched){//本次没有匹配成功
+                    step = "This is not matched.";
                     thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                     thisTempStep.setLastCompareSampleResult(COMPARE_FALSE);
                     thisTempStep.setFirstMatchSampleTime(0L);
                     thisTempStep.setLastEventId("");
                     thisTempStep.setLastEventTime(0L);
-                    thisTempStep.setLastCompareSampleExplain("This is not matched.");
+                    thisTempStep.setLastCompareSampleExplain(step);
                     continue;
                 }//本次匹配成功进入下一步
 
                 long triggerEventPeriodSwitch = planDetail.getFrequency()*planDetail.getThreshold();//触发预警事件的最小时长(单位:时/天/月)
                 if (thisTempStep.getLastCompareSampleResult() <= COMPARE_FALSE){//上一次没有匹配成功
+                    step = "This is matched, but last is not matched.";
                     thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                     thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                     thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
-                    thisTempStep.setLastCompareSampleExplain("This is matched, but last is not matched.");
+                    thisTempStep.setLastCompareSampleExplain(step);
                     if (triggerEventPeriodSwitch <= 1){//触发事件
+                        step = "This is matched and trigger short period, it will gen event.";
                         thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                        thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
+                        thisTempStep.setLastCompareSampleExplain(step);
 
                         JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                         newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -512,13 +515,15 @@ public class ZoneDataWarnHandler {
                 else if (FrequencyUnit.HOUR.equals(planDetail.getFrequencyUnit()))
                     diffMatch = (sampleRecordTm-thisTempStep.getLastCompareSampleTime())/TimeTool.MS_ONE_HOUR;//换算成小时
                 if (diffMatch > triggerEventPeriodSwitch){//两个最近匹配样本间缺失的数据太多、或跨了天/月、或跨了时段,可认为重新计数
+                    step = "This is matched, but two matched sample is too distance.";
                     thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                     thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                     thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
-                    thisTempStep.setLastCompareSampleExplain("This is matched, but two matched sample is too distance.");
+                    thisTempStep.setLastCompareSampleExplain(step);
                     if (triggerEventPeriodSwitch <= 1){//触发事件
+                        step = "This is matched and trigger short period, it will gen event.";
                         thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                        thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
+                        thisTempStep.setLastCompareSampleExplain(step);
 
                         JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                         newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -534,13 +539,15 @@ public class ZoneDataWarnHandler {
 
                 if (FrequencyUnit.HOUR.equals(planDetail.getFrequencyUnit())){
                     if (thisTempStep.getLastCompareSampleTime() < thisTempStep.getConditionMinUTC()){//上一个匹配样本是非当前天的,可认为重新计数
+                        step = "This is matched, but last is not today.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                         thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
-                        thisTempStep.setLastCompareSampleExplain("This is matched, but last is not today.");
+                        thisTempStep.setLastCompareSampleExplain(step);
                         if (triggerEventPeriodSwitch <= 1){//触发事件
+                            step = "This is matched and trigger short period, it will gen event.";
                             thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                            thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
+                            thisTempStep.setLastCompareSampleExplain(step);
 
                             JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                             newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -566,14 +573,16 @@ public class ZoneDataWarnHandler {
                 }
                 if (StringUtils.isEmpty(thisTempStep.getLastEventId())){//之前无预警事件
                     if (matchLen < triggerEventPeriodSwitch){//还得持续等待,达不到触发事件的累计时长
+                        step = "This is matched, but need wait the next matched.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
-                        thisTempStep.setLastCompareSampleExplain("This is matched, but need wait the next matched.");
+                        thisTempStep.setLastCompareSampleExplain(step);
                         if (thisTempStep.getFirstMatchSampleTime() <= 0){
                             thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
                             if (triggerEventPeriodSwitch <= 1){//补充触发事件
+                                step = "This is matched and trigger short period, it will gen event.";
                                 thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                                thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
+                                thisTempStep.setLastCompareSampleExplain(step);
 
                                 JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                                 newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -583,10 +592,11 @@ public class ZoneDataWarnHandler {
                             }
                         }
                     }else {//触发一个新的事件
+                        step = "This is matched, and will gen event.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                         thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                        thisTempStep.setLastCompareSampleExplain("This is matched, and will gen event.");
+                        thisTempStep.setLastCompareSampleExplain(step);
 
                         JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                         newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -597,13 +607,15 @@ public class ZoneDataWarnHandler {
                     }
                 }else {//之前有预警事件
                     if (planDetail.getMergeToEvent() == 0 || thisTempStep.getLastEventAction() >= EventAction.DONE){//之前的预警事件已处理,则可认为进行重新计数
+                        step = "This is matched, but need to wait the next matched.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                         thisTempStep.setFirstMatchSampleTime(sampleRecordTm);
-                        thisTempStep.setLastCompareSampleExplain("This is matched, but need to wait the next matched.");
+                        thisTempStep.setLastCompareSampleExplain(step);
                         if (triggerEventPeriodSwitch <= 1){//触发事件
+                            step = "This is matched and trigger short period, it will gen event.";
                             thisTempStep.setLastEventTime(TimeTool.getCurMsUTC());
-                            thisTempStep.setLastCompareSampleExplain("This is matched and trigger short period, it will gen event.");
+                            thisTempStep.setLastCompareSampleExplain(step);
 
                             JPOrdWarnEventInfo newEvent = new JPOrdWarnEventInfo(planDetail, rules, thisTempStep, thisTempStep.getLastEventTime());
                             newEvent2Gen.put(newEvent.getUid(), newEvent);
@@ -615,13 +627,14 @@ public class ZoneDataWarnHandler {
                             thisTempStep.setLastEventTime(0L);
                         }
                     }else {//之前的预警事件未处理,则更新预警事件的样本截止时刻
+                        step = "This is matched, but need to merge the last event.";
                         thisTempStep.setLastCompareSampleTime(sampleRecordTm);
                         thisTempStep.setLastCompareSampleResult(COMPARE_TURE);
                         if (newEvent2Gen.containsKey(thisTempStep.getLastEventId())){
                             newEvent2Gen.get(thisTempStep.getLastEventId()).setToTime(sampleRecordTm);
                         }else
                             oldEvent2EndUTC.put(thisTempStep.getLastEventId(), sampleRecordTm);
-                        thisTempStep.setLastCompareSampleExplain("This is matched, but need to merge the last event.");
+                        thisTempStep.setLastCompareSampleExplain(step);
                     }
                 }
             }
@@ -660,6 +673,4 @@ public class ZoneDataWarnHandler {
                         planDetail.getUid(), zoneId, step, code.toString()));
         return code;
     }
-
-
 }