Commit 39c06e73 by shenjinzhu

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

parent 8947b987
......@@ -2,6 +2,8 @@ package com.zhiwei.manage.handle;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -162,8 +164,8 @@ public class Task implements Runnable {
msg.setTempName(delayed.getTempName());
messageService.insert(msg);
}
long top=0,top_2=0;
long delay=0;
double delay=0;
List<Double> dNum=new ArrayList<Double>();
for (Map<String, Object> map : list) {
Date time = null;
Date savetime = null;
......@@ -176,11 +178,7 @@ public class Task implements Runnable {
}
if (time != null && savetime != null) {
delay= savetime.getTime() - time.getTime();
if(delay>top){
top=delay;
}else if(delay>top_2){
top_2=delay;
}
dNum.add(delay);
sum +=delay;
} else {
Template tp = MainThread.mainMap.get(delayed.getTemplateId());
......@@ -195,12 +193,16 @@ public class Task implements Runnable {
messageService.insert(msg);
}
}
System.out.println("sum"+sum);
if ((sum-top-top_2) / 1.0 / 1000 / 60/(delayed.getTestCount()-2) > delayed.getNewsDelayed()) {
Collections.sort(dNum);
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());
Message msg = new Message();
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.setTemplateCreator(tp.getCreator());
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