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. AT2346 No Need

    atcoder上的题目 链接 一道思维题目 可以发现如果X是可有可无的,那么所有小于X的数也一定是可有可无的, 所有我们只要找出最大的那个可有可无的数字就好了 进一步分析,发现 若A1, A2, . ...

  2. AT2377 Blue and Red Tree

    AT2377 Blue and Red Tree 法一:正推 红色的边在蓝色的树上覆盖,一定每次选择的是覆盖次数为1的边的覆盖这条边的红色边连出来 覆盖次数可以树剖找到 这条红色边,可以开始的时候每个 ...

  3. 【NS2】Installing ns-2.29 in Ubuntu 12.04

    Installing ns-2.29 in Ubuntu 12.04     Off late, we try to use(install) a old software in a new Oper ...

  4. Java面向对象----Java面向对象(OOP)概念

    理解面向对象 关键:让每一个对象负责执行一组相关任务 面向过程:算法第一,数据第二 面向对象:数据第一,算法第一 特点: 万物皆对象 程序是一组对象彼此之间在发送消息 每个对象都有自己的内存占用,可以 ...

  5. Win10系统使用Docker安装oracle并通过Navicat for oracle进行登录

    一.安装Docker Linux系统可以直接采用命令进行Docker安装: Win7系统安装Dokcer实际通过Boot2Docker在Windows下安装一个VirtualBox来实现: Boot2 ...

  6. Linux保证运行一个实例

    1. ; // 默认最大路径长度 inline std::string current_exe_name() { }; int ret = readlink("/proc/self/exe& ...

  7. 在WPF中绘制多维数据集

    原文 https://stuff.seans.com/2008/08/13/drawing-a-cube-in-wpf/ 是时候使用WPF绘制一个简单的3D对象了.作为WPF中3D图形的快速介绍,让我 ...

  8. 11-1 css属性选择器

    一 基础选择器 标签选择器:选择的标签的‘共性’,而不是特性 div{}.ul{}.ol{}.form{} 类选择器:.box{} id选择器:#box{} 只能选择器的特性,主要是为了js *通配符 ...

  9. [MySQL]获取当月每一天

    常用使用场景: 统计某个月(某个时间区间)内每一天的数据量 select date_add(curdate(), interval(cast(help_topic_id as signed integ ...

  10. Streamy障碍一:大批量条目