Commit 39c06e73 by shenjinzhu

延时检测对20%的高延时数据过滤

parent 8947b987
...@@ -2,6 +2,8 @@ package com.zhiwei.manage.handle; ...@@ -2,6 +2,8 @@ package com.zhiwei.manage.handle;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -162,8 +164,8 @@ public class Task implements Runnable { ...@@ -162,8 +164,8 @@ public class Task implements Runnable {
msg.setTempName(delayed.getTempName()); msg.setTempName(delayed.getTempName());
messageService.insert(msg); messageService.insert(msg);
} }
long top=0,top_2=0; double delay=0;
long delay=0; List<Double> dNum=new ArrayList<Double>();
for (Map<String, Object> map : list) { for (Map<String, Object> map : list) {
Date time = null; Date time = null;
Date savetime = null; Date savetime = null;
...@@ -176,11 +178,7 @@ public class Task implements Runnable { ...@@ -176,11 +178,7 @@ public class Task implements Runnable {
} }
if (time != null && savetime != null) { if (time != null && savetime != null) {
delay= savetime.getTime() - time.getTime(); delay= savetime.getTime() - time.getTime();
if(delay>top){ dNum.add(delay);
top=delay;
}else if(delay>top_2){
top_2=delay;
}
sum +=delay; sum +=delay;
} else { } else {
Template tp = MainThread.mainMap.get(delayed.getTemplateId()); Template tp = MainThread.mainMap.get(delayed.getTemplateId());
...@@ -195,12 +193,16 @@ public class Task implements Runnable { ...@@ -195,12 +193,16 @@ public class Task implements Runnable {
messageService.insert(msg); messageService.insert(msg);
} }
} }
System.out.println("sum"+sum); Collections.sort(dNum);
if ((sum-top-top_2) / 1.0 / 1000 / 60/(delayed.getTestCount()-2) > delayed.getNewsDelayed()) { int cutSize=(int) (dNum.size()*0.8/1);
for(int i=cutSize;i<dNum.size();i++) {
sum-=dNum.get(i);
}
if (sum / 1.0 / 1000 / 60/cutSize > delayed.getNewsDelayed()) {
Template tp = MainThread.mainMap.get(delayed.getTemplateId()); Template tp = MainThread.mainMap.get(delayed.getTemplateId());
Message msg = new Message(); Message msg = new Message();
msg.setCreateDate(new Date()); msg.setCreateDate(new Date());
msg.setErrorMsg("延时过高,延时检测为" + (sum-top-top_2) / 1.0 / 1000 / 60/(delayed.getTestCount()-2) + "分"); msg.setErrorMsg("延时过高,延时检测为" + (sum / 1.0 / 1000 / 60/cutSize) + "分");
msg.setHandle(false); msg.setHandle(false);
msg.setTemplateCreator(tp.getCreator()); msg.setTemplateCreator(tp.getCreator());
msg.setTemplateLv(tp.getTemplateLv()); msg.setTemplateLv(tp.getTemplateLv());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment