summaryrefslogtreecommitdiffstats
path: root/openo-portal/portal-resmgr/src/main/webapp/resmgr-nfv/js/vim.js
blob: 24ac3af1513c9ad7328162c4d4a08dc1088f427a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
function loadDatacenterData() {
    var requestUrl = app_url+"/openoapi/resmgr/v1/datacenters";
    $.ajax({
        type: "GET",
        url: requestUrl,
        contentType: "application/json",
        success: function (jsonobj) {
            $.each(jsonobj.datacenters, function (n, v) {
                printCharts(v.usedCPU, v.totalCPU, v.usedMemory, v.totalMemory, v.usedDisk, v.totalDisk,v.name);
            });
        },
        error: function (xhr, ajaxOptions, thrownError) {
            bootbox.alert("Error on getting site data : " + xhr.responseText);
            printCharts(11, 12, 21, 22, 31, 32,1);
        }
    });
}


function loadVimData() {
    var requestUrl = app_url+"/v1/resmanage/vim/vimInfo";
    $.ajax({
        type: "GET",
        url: requestUrl,
        contentType: "application/json",
        success: function (jsonobj) {
            printCharts(jsonobj.data[0].used.cpu,
                jsonobj.data[0].total.cpu, jsonobj.data[0].used.memory, jsonobj.data[0].total.memory, jsonobj.data[0].used.disk, jsonobj.data[0].total.disk,1);

        },
        error: function (xhr, ajaxOptions, thrownError) {
            bootbox.alert("Error on getting data (here display the test data) : " + xhr.responseText);
            printCharts(11, 12, 21, 22, 31, 32,1);
        }
    });
}

function addHtmlTemplate(dc_id){
	var htmlTemplate= '<div><br/><div>DataCenter[ '+dc_id+' ]</div><div style="width: 33%; float: left; text-align: center; display: inline"> <canvas id="cpuChart_'+dc_id+'"></canvas> <br> <label style="font-size: 14px;">Cpu status</label> </div> <div style="width: 33%; float: left; text-align: center; display: inline"> <canvas id="memoryChart_'+dc_id+'"></canvas> <br> <label style="font-size: 14px;">Memory status</label> </div> <div style="width: 34%; float: left; text-align: center; display: inline"> <canvas id="diskChart_'+dc_id+'"></canvas> <br> <label style="font-size: 14px;">Disk status</label> </div> </div>';
	$('#chartArea').append(htmlTemplate);
}

function printCharts(v11, v12, v21, v22, v31, v32,dc_id) {
	addHtmlTemplate(dc_id);
    var cpuChart = new Chart($("#cpuChart_"+dc_id+""), {
        type: 'doughnut',
        data: {
            labels: ["used", "available"],
            datasets: [{
                data: [v11, v12-v11],
                backgroundColor: ["#FFCE56", "#36A2EB"],
                hoverBackgroundColor: ["#FFCE56", "#36A2EB"]
            }]
        },
        options: {
            animation: {
                animateScale: true,
                animateRotate: true

            }
        }
    });
    var memoryChart = new Chart($("#memoryChart_"+dc_id+""), {
        type: 'doughnut',
        data: {
            labels: ["used", "available"],
            datasets: [{
                data: [v21, v22-v21],
                backgroundColor: ["#FFCE56", "#36A2EB"],
                hoverBackgroundColor: ["#FFCE56", "#36A2EB"]
            }]
        },
        options: {

            animation: {
                animateScale: true,
                animateRotate: true

            }
        }
    });
    var diskChart = new Chart($("#diskChart_"+dc_id+""), {
        type: 'doughnut',
        data: {
            labels: ["used", "available"],
            datasets: [{
                data: [v31, v32-v31],
                backgroundColor: ["#FFCE56", "#36A2EB"],
                hoverBackgroundColor: ["#FFCE56", "#36A2EB"]
            }]
        },
        options: {
            animation: {
                animateScale: true,
                animateRotate: true

            }
        }
    });
}

$(function () {
	loadDatacenterData();

})