数据多js平均时间取固定条数展示,echarts数据多处理数据
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数据多处理数据的更多相关文章
- orcale 使用创建日期排序然后分页每次取排序后的固定条数
需求: 一个使用mybatis分页插件的分页列表, 现在要求新增一条数据或者修改一条数据后,显示在最前端 思路: 使用sql , 先将查询出来的数据排序, 然后使用rownum > page*s ...
- oracle取随机数,取固定行数的数
首先建一张测试表: create table DIM_IA_TEST5 ( NAME ), OTHERNAME ), NUM NUMBER, TIMES NUMBER ) 然后插入数据,现在的表数据为 ...
- listview显示固定条数
看了很多网上其他大神的,感觉还是在listview的adapter中的getCount中下手比较好点 毕竟计算高度等等,那会让辅助的布局会一团糟,例如下面的搜索历史只显示四条,布局中有横向listvi ...
- for循环每次展示固定条数的数据的写法。
第一种是一组json数据实现分页的效果,也就是每一次展示5条数据.第二种场景是每一秒展示4条数据,直到全部显示完.两种思路都做个笔记记录下. var nums = 5; //每页出现的数量 var p ...
- Dynamics CRM 修改数据导出到EXCEL的最大条数
系统默认的最大导出数为一万,这个数可以通过执行以下SQL看到,那要增加导出的最大数量改变MaxRecordsForExportToExcel的值即可. <span style="fon ...
- Oracle数据重复,只取一条
--方法一 select * from tb_supply where rowid=any(select max(rowid) from tb_supply group by phone_id) -- ...
- java 实现每次从list中取5000条数据放入新list
从list中取固定条数的数据放入新的list里 public static <T> List<List<T>> split(List<T> resLis ...
- tableZen maxHeight 解决方案 如果数据条数小于N,不进行高度设置,超过N条,直接设置高度,解决原生iview Table 对于右侧固定列,不能计算出正确数值的解决方案
tableZen maxHeight 解决方案 如果数据条数小于N,不进行高度设置,超过N条,直接设置高度,解决原生iview Table 对于右侧固定列,不能计算出正确数值的解决方案 if (thi ...
- 按批次处理list数据 (list按条数取)
按批次处理list数据的两种方法 主要应用于list存储数据过多,不能使list整体进行其余操作 Java | 复制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
随机推荐
- 原生js扫雷代码
思路要点: 1. 随机地雷放到一个二维数组中: 2. 每一个格子要统计周围有几颗雷: 3. 每一个格子是否处于打开状态,用于判断是否赢得游戏: 4. 如果点击到周围没有雷的地方,把周围的打开: 具体的 ...
- python 字典索引
- @bzoj - 3750@ [POI2015] Pieczęć
目录 @description@ @solution@ @accepted code@ @details@ @description@ 一张 n*m 的方格纸,有些格子需要印成黑色,剩下的格子需要保留 ...
- HZOJ 矩阵游戏
大水题一个,然而由于两颗线段树的阴影我死了…… 算法一:对于50%的数据: 送分,直接一个一个乘,时间复杂度O(KN). 算法二:对于80%的数据:如果我们不一个一个乘,将第i行的和乘x ,第j列的和 ...
- AtCoder Beginner Contest 077 C Snuke Festival(二分)
二分水题,A,B,C三个数组排序,对于每个B[i],二分算出来有多少A比他小,多少C比他大,然后扫一遍出结果.O(nlog(n))水过. #include <bits/stdc++.h> ...
- em&rem
PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firefox能够调整px和em,rem px像素(Pi ...
- Oracle的dual是什么东西啊
原文:https://zhidao.baidu.com/question/170487574.html?fr=iks&word=dual&ie=gbk Oracle的dual是什么东西 ...
- 全面解读Python Web开发框架Django,利用Django构建web应用及其部署
全面解读Python Web开发框架Django Django是一个开源的Web应用框架,由Python写成.采用MVC的软件设计模式,主要目标是使得开发复杂的.数据库驱动的网站变得简单.Django ...
- 2013-10-6 datagridview实现换行并自动设置行高
datagridview设置换行,如下,文本设置\r\n即可换行 dv4.DefaultCellStyle.WrapMode = DataGridViewTriState.True; dv4.Auto ...
- CF1166E The LCMs Must be Large
CF1166E The LCMs Must be Large 构造趣题 正着推其实很不好推 不妨大力猜结论 如果两两集合都有交,那么一定可以 证明: 1.显然如果两个集合没有交,一定不可以 2.否则给 ...