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. python 异常层级

  2. 不撞南墙不回头———深度优先搜索(DFS)Oil Deposits

    Oil Deposits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  3. Kubernetes1.4新特性前瞻:设置JOB执行计划

    (一)  核心概念 Kubernetes在新版中会新增了一个设置JOB执行计划的功能,在1.3中已经可以初见端倪了,从进度上来看会在1.4版本中进行发布,下面我们先睹为快. Kubernetes通过这 ...

  4. W600 一块新的 KiCad PCB

    W600 一块新的 KiCad PCB 打算做以下功能. Type-C USB. 使用 KiCad 画板. 加入串口芯片,方便调试. 使用 PCB 天线.

  5. LeetCode59 Spiral Matrix II

    题目: Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. ...

  6. TensorFlow的 卷积层

    用 TensorFlow 做卷积 让我们用所学知识在 TensorFlow 里构建真的 CNNs.在下面的练习中,你需要设定卷积核滤波器(filters)的维度,weight,bias.这在很大程度上 ...

  7. Python基础:22__slots__类属性

    1:工厂函数 由于类型和类的统一,因而可以子类化Python数据类型.但是所有的Python 内建的转换函数现在都是工厂函数.当这些函数被调用时,你实际上是对相应的类型进行实例化.比如下面的函数都已经 ...

  8. Libev源码分析01:Libev中的监视器结构(C结构体实现继承)

    在Libev的源码中,用到了一种用C实现类似C++中继承的技巧,主要是用宏和结构体实现. 在Libev中,最关键的数据结构就是各种监视器,比如IO监视器,信号监视器等等.这些监视器的多数成员都是一样的 ...

  9. ElementUI分页Pagination自动到第一页

    当数据量过多时,使用分页请求数据. 设置分页的页数自动回到第一页. 例: <div class="pagination"> <el-pagination back ...

  10. <%@ include file=""%>与<jsp:include page=""/>两种方式的作用以及传值

      一:使用    1.include指令: 1 <%@include file="文件的绝对路径或者相对路径"%> file属性是必填的(绝对或相对路径),但它不支持 ...