/**
* cpu按资源组使用情况
*/
function getCPUWD(){
var beginDate = $("#CPUWDBeginDate").val();
var endDate = $("#CPUWDEndDate").val();
var dataPL = $("#dataPLWD").val();
$.ajax({
type : "post",
url : "/sptba/spt-benchana/getCPUWDAction.action",
data : {
beginDate : beginDate,
endDate : endDate,
dataPL:dataPL,
sys_cd : databaseFlag
},
dataType : 'json',
success : function(json) {
var data = json.data.DATA;
var dataApp = json.data.DATAAPP;//按应用得到的系列
var dataCata = json.data.DATACATA;//获得对应的x轴时间数据
var catagories = [];
for ( var i = 0; i < dataCata.length; i++) {
if("d"==dataPL){
catagories.push(dataCata[i].LOGDATE);
}else if("h"==dataPL){
catagories.push(dataCata[i].LOGDATE+" "+dataCata[i].LOGHOUR);
}
}
var seriesObj = [];
for( var i = 0; i < dataApp.length; i++){
var displayData = {};//图形序列对象
displayData.name =dataApp[i].WDNAME;
displayData.data = [];
//数据的项和x轴的序列一致
for ( var j = 0; j < catagories.length; j++) {
displayData.data[j] = 0;
}
seriesObj.push(displayData);
}
//每个资源组是一个图形系列
//将所有的数据,根据横坐标catagories的限定,放置到相应的序列对象里
for ( var i = 0; i < data.length; i++) {
for ( var k = 0; k < seriesObj.length; k++) {
if(data[i].WDNAME==seriesObj[k].name){
if("d"==dataPL){
for( var j = 0; j < catagories.length; j++){
if(catagories[j] == data[i].LOGDATE){
seriesObj[k].data[j] = parseFloat((data[i].CPUTIME/1000000).toFixed(4));
}else{
//如果该位置已经被赋值,则不再重新赋值
if(seriesObj[k].data[j] == 0){
seriesObj[k].data[j] == 0;
}
}
}
}else if("h"==dataPL){
for( var j = 0; j < catagories.length; j++){
if(catagories[j] == (data[i].LOGDATE+" "+data[i].LOGHOUR)){
seriesObj[k].data[j] = parseFloat((data[i].CPUTIME/1000000).toFixed(4));
}else{
//如果该位置已经被赋值,则不再重新赋值
if(seriesObj[k].data[j] == 0){
seriesObj[k].data[j] == 0;
}
}
}
}
}
}
}
var catagories1 = [];
if(dataCata.length<=xAxisDisplay){
for ( var i = 0; i < dataCata.length; i++) {
if("d"==dataPL){
catagories1.push(dataCata[i].LOGDATE);
}else if("h"==dataPL){
catagories1.push(dataCata[i].LOGDATE+" "+dataCata[i].LOGHOUR);
}
}
}else if(dataCata.length>xAxisDisplay){
//向上取整,坐标轴最多显示多少个
var maxDisplayNum = Math.ceil(dataCata.length/xAxisDisplay);
//重新处理x轴的数据显示
for ( var i = 0; i < dataCata.length; i++) {
if("d"==dataPL){
if((i>=maxDisplayNum) && ((i%maxDisplayNum)==0) ||(i==0)){
catagories1.push(dataCata[i].LOGDATE);
}else{
catagories1.push("");
}
}else if("h"==dataPL){
if((i>=maxDisplayNum) && ((i%maxDisplayNum)==0) ||(i==0)){
catagories1.push(dataCata[i].LOGDATE+" "+dataCata[i].LOGHOUR);
}else{
catagories1.push("");
}
}
}
}
//生成各个指标的图形
genAreaChartsCPU('containerCPUWD',catagories1,seriesObj,'CPU按资源组使用情况(单位:1000000次/秒)','','');
}
});
}