js代码:

function getfailurerate(start,end,ip) {
$.ajax( {
url : "report/getvirtual.action",
type : "POST",
data : {
'ip' : ip,
'startime' : start,
'endtime' : end,
},
timeout : 180000,
async : true,
beforeSend: function(){
MaskUtil.mask();
var net = new Array();
var createtime = new Array();
var lnet = new Array();
var lnet_out = new Array();
var net_out = new Array();
var net_avg = new Array();
var cpu = new Array();
var mem = new Array();
vhostNet(net,net_out,lnet,lnet_out,net_avg,createtime);
vhostCpu(cpu,createtime);
vhostMem(mem,createtime);
},
success : function(data) {
MaskUtil.unmask();
var data = eval(data);
if(data== null || data.length<1){
alert("暂无数据!");
}
var net = new Array();
var createtime = new Array();
var lnet = new Array();
var lnet_out = new Array();
var net_out = new Array();
var net_avg = new Array();
var cpu = new Array();
var mem = new Array(); var sum = 0;
var count = 0;
//如果大于三个月
var smonth = start.substring(8,10);
var emonth = end.substring(8,10);
// if((emonth - smonth) > 3){
//如果大于多少条
var item = 1000;//条数
if(data.length > item){
var timestamp = parseInt(new Date().getTime()/1000);
// start = start.substring(0,19);如果时间格式有问题时使用
// start = start.replace(/-/g,'/');
var s = new Date(data[0].createtime.substring(0, 16)).getTime();
sum = s;
var e = new Date(data[data.length-1].createtime.substring(0, 16)).getTime();
//计算起止时间的平均值,用来每次添加数据后增长时间
count = parseInt((e-s)/item);
for(var j = 0 ; j<data.length; j++){
// var sumdate = getTimeDate(sum + count);
var sumdate = getTimeDate(sum);//不加count会多一条开始时间的数据
var ctime = data[j].createtime.substring(0, 16);
var date1 = new Date(sumdate);
var date2 = new Date(ctime);
//如果所要时间小于数据时间或与数据时间相等,添加数据并增长所要时间
if(date1 < date2 || date1 - date2 == 0){
net.push(data[j].net);
createtime.push(data[j].createtime);
lnet.push(data[j].lnet);
lnet_out.push(data[j].lnet_out);
net_out.push(data[j].net_out);
net_avg.push(data[j].net_avg);
cpu.push(data[j].cpu);
mem.push(data[j].memory);
sum = sum + count;
}
}
var sumdate = getTimeDate(sum);
}else{
//如果不符合条件,走普通
for(var j = 0 ; j < data.length; j++){
net.push(data[j].net);
createtime.push(data[j].createtime);
lnet.push(data[j].lnet);
lnet_out.push(data[j].lnet_out);
net_out.push(data[j].net_out);
net_avg.push(data[j].net_avg);
cpu.push(data[j].cpu);
mem.push(data[j].memory);
}
}
vhostNet(net,net_out,lnet,lnet_out,net_avg,createtime);
vhostCpu(cpu,createtime);
vhostMem(mem,createtime);
}
});
}
function getTimeDate(timedate) {
// var s = new Date(d);
// var sdate = (s.getFullYear()) + "-" +
// (s.getMonth() + 1) + "-" +
// (s.getDate()) + " " +
// (s.getHours()) + ":" +
// (s.getMinutes()) + ":" +
// (s.getSeconds());
}
function getTimeDate(timedate) {
var s = new Date(timedate);
var date = (s.getFullYear()) + "-" +
(s.getMonth() + 1) + "-" +
(s.getDate()) + " " +
(s.getHours()) + ":" +
(s.getMinutes());
// + ":" + (s.getSeconds());
return date;
}

数据多js平均时间取固定条数展示,echarts数据多处理数据的更多相关文章

  1. orcale 使用创建日期排序然后分页每次取排序后的固定条数

    需求: 一个使用mybatis分页插件的分页列表, 现在要求新增一条数据或者修改一条数据后,显示在最前端 思路: 使用sql , 先将查询出来的数据排序, 然后使用rownum > page*s ...

  2. oracle取随机数,取固定行数的数

    首先建一张测试表: create table DIM_IA_TEST5 ( NAME ), OTHERNAME ), NUM NUMBER, TIMES NUMBER ) 然后插入数据,现在的表数据为 ...

  3. listview显示固定条数

    看了很多网上其他大神的,感觉还是在listview的adapter中的getCount中下手比较好点 毕竟计算高度等等,那会让辅助的布局会一团糟,例如下面的搜索历史只显示四条,布局中有横向listvi ...

  4. for循环每次展示固定条数的数据的写法。

    第一种是一组json数据实现分页的效果,也就是每一次展示5条数据.第二种场景是每一秒展示4条数据,直到全部显示完.两种思路都做个笔记记录下. var nums = 5; //每页出现的数量 var p ...

  5. Dynamics CRM 修改数据导出到EXCEL的最大条数

    系统默认的最大导出数为一万,这个数可以通过执行以下SQL看到,那要增加导出的最大数量改变MaxRecordsForExportToExcel的值即可. <span style="fon ...

  6. Oracle数据重复,只取一条

    --方法一 select * from tb_supply where rowid=any(select max(rowid) from tb_supply group by phone_id) -- ...

  7. java 实现每次从list中取5000条数据放入新list

    从list中取固定条数的数据放入新的list里 public static <T> List<List<T>> split(List<T> resLis ...

  8. tableZen maxHeight 解决方案 如果数据条数小于N,不进行高度设置,超过N条,直接设置高度,解决原生iview Table 对于右侧固定列,不能计算出正确数值的解决方案

    tableZen maxHeight 解决方案 如果数据条数小于N,不进行高度设置,超过N条,直接设置高度,解决原生iview Table 对于右侧固定列,不能计算出正确数值的解决方案 if (thi ...

  9. 按批次处理list数据 (list按条数取)

    按批次处理list数据的两种方法 主要应用于list存储数据过多,不能使list整体进行其余操作 Java | 复制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

随机推荐

  1. SDUT-2138_判断可达性

    数据结构实验之图论三:判断可达性 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在古老的魔兽传说中,有两个军团,一个叫 ...

  2. WPF动画之后属性值无法改变

    原文:WPF动画之后属性值无法改变         前一段时间使用WPF写2048游戏的时候,遇到下面的情形:使用按键对色块进行移动时,触发位置左边X和Y属性的DoubleAnimation动画,但是 ...

  3. SDUT-2120_数据结构实验之链表五:单链表的拆分

    数据结构实验之链表五:单链表的拆分 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 输入N个整数顺序建立一个单链表,将该 ...

  4. 转载:ubuntu 下的dpkg 的用法

    dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name ...

  5. ROS 用 roboware实现节点信息发送和接收

    在ros下实现节点编程,实现一个节点发送消息,另一个节点接收.实现方式有多种,可以直接在命令窗口创建工作空间包以及节点,用catkin_make进行编译,添加.bash路径,然后执行rosrun  p ...

  6. @codeforces - 117C@ Cycle

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个竞赛图(有向完全图),请找出里面的某个三元环,或者判断不 ...

  7. Android读取sd卡

    public static String[] getStoragePaths() { List<String> pathsList = new ArrayList<String> ...

  8. 出现 java.net.ConnectException: Connection refused 异常的原因及解决方法

    1 异常描述 在启动 Tomcat 服务器的时候,控制台一直输出异常信息,然后停止服务器,报出如下异常: 2 异常原因 通过观察上图中被标记出来的异常信息,咱们可以知道 java.net.Connec ...

  9. php函数nl2br的反函数br2nl

    真是搞不明白,php里有nl2br这样的好函数,但是为什么就没有它的反函数呢?只好自己在网站找了一个br2nl.分两个版本:php和javascript的. php版的代码如下: function b ...

  10. 2019-11-17-dotnet-C#-获取本机外网-IP-地址

    title author date CreateTime categories dotnet C# 获取本机外网 IP 地址 lindexi 2019-11-17 16:38:10 +0800 201 ...