Merge pull request #214 from vmarmol/ui
Don't try to draw graphs we don't have data for.
This commit is contained in:
commit
9c99d76e77
@ -63,6 +63,11 @@ function getInterval(current, previous) {
|
|||||||
return (cur.getTime() - prev.getTime()) * 1000000;
|
return (cur.getTime() - prev.getTime()) * 1000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Checks if the specified stats include the specified resource.
|
||||||
|
function hasResource(stats, resource) {
|
||||||
|
return stats.stats.length > 0 && stats.stats[0][resource];
|
||||||
|
}
|
||||||
|
|
||||||
// Draw a gauge.
|
// Draw a gauge.
|
||||||
function drawGauge(elementId, cpuUsage, memoryUsage) {
|
function drawGauge(elementId, cpuUsage, memoryUsage) {
|
||||||
var gauges = [['Label', 'Value']];
|
var gauges = [['Label', 'Value']];
|
||||||
@ -112,6 +117,10 @@ function getStats(containerName, callback) {
|
|||||||
|
|
||||||
// Draw the graph for CPU usage.
|
// Draw the graph for CPU usage.
|
||||||
function drawCpuTotalUsage(elementId, machineInfo, stats) {
|
function drawCpuTotalUsage(elementId, machineInfo, stats) {
|
||||||
|
if (!hasResource(stats, "cpu")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var titles = ["Time", "Total"];
|
var titles = ["Time", "Total"];
|
||||||
var data = [];
|
var data = [];
|
||||||
for (var i = 1; i < stats.stats.length; i++) {
|
for (var i = 1; i < stats.stats.length; i++) {
|
||||||
@ -129,6 +138,10 @@ function drawCpuTotalUsage(elementId, machineInfo, stats) {
|
|||||||
|
|
||||||
// Draw the graph for per-core CPU usage.
|
// Draw the graph for per-core CPU usage.
|
||||||
function drawCpuPerCoreUsage(elementId, machineInfo, stats) {
|
function drawCpuPerCoreUsage(elementId, machineInfo, stats) {
|
||||||
|
if (!hasResource(stats, "cpu")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Add a title for each core.
|
// Add a title for each core.
|
||||||
var titles = ["Time"];
|
var titles = ["Time"];
|
||||||
for (var i = 0; i < machineInfo.num_cores; i++) {
|
for (var i = 0; i < machineInfo.num_cores; i++) {
|
||||||
@ -152,6 +165,10 @@ function drawCpuPerCoreUsage(elementId, machineInfo, stats) {
|
|||||||
|
|
||||||
// Draw the graph for CPU usage breakdown.
|
// Draw the graph for CPU usage breakdown.
|
||||||
function drawCpuUsageBreakdown(elementId, containerInfo) {
|
function drawCpuUsageBreakdown(elementId, containerInfo) {
|
||||||
|
if (!hasResource(containerInfo, "cpu")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var titles = ["Time", "User", "Kernel"];
|
var titles = ["Time", "User", "Kernel"];
|
||||||
var data = [];
|
var data = [];
|
||||||
for (var i = 1; i < containerInfo.stats.length; i++) {
|
for (var i = 1; i < containerInfo.stats.length; i++) {
|
||||||
@ -202,6 +219,10 @@ function drawOverallUsage(elementId, machineInfo, containerInfo) {
|
|||||||
var oneMegabyte = 1024 * 1024;
|
var oneMegabyte = 1024 * 1024;
|
||||||
|
|
||||||
function drawMemoryUsage(elementId, containerInfo) {
|
function drawMemoryUsage(elementId, containerInfo) {
|
||||||
|
if (!hasResource(containerInfo, "memory")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var titles = ["Time", "Total", "Hot"];
|
var titles = ["Time", "Total", "Hot"];
|
||||||
var data = [];
|
var data = [];
|
||||||
for (var i = 0; i < containerInfo.stats.length; i++) {
|
for (var i = 0; i < containerInfo.stats.length; i++) {
|
||||||
@ -218,6 +239,10 @@ function drawMemoryUsage(elementId, containerInfo) {
|
|||||||
|
|
||||||
// Draw the graph for network tx/rx bytes.
|
// Draw the graph for network tx/rx bytes.
|
||||||
function drawNetworkBytes(elementId, machineInfo, stats) {
|
function drawNetworkBytes(elementId, machineInfo, stats) {
|
||||||
|
if (!hasResource(stats, "network")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var titles = ["Time", "Tx bytes", "Rx bytes"];
|
var titles = ["Time", "Tx bytes", "Rx bytes"];
|
||||||
var data = [];
|
var data = [];
|
||||||
for (var i = 1; i < stats.stats.length; i++) {
|
for (var i = 1; i < stats.stats.length; i++) {
|
||||||
@ -236,6 +261,10 @@ function drawNetworkBytes(elementId, machineInfo, stats) {
|
|||||||
|
|
||||||
// Draw the graph for network errors
|
// Draw the graph for network errors
|
||||||
function drawNetworkErrors(elementId, machineInfo, stats) {
|
function drawNetworkErrors(elementId, machineInfo, stats) {
|
||||||
|
if (!hasResource(stats, "network")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var titles = ["Time", "Tx", "Rx"];
|
var titles = ["Time", "Tx", "Rx"];
|
||||||
var data = [];
|
var data = [];
|
||||||
for (var i = 1; i < stats.stats.length; i++) {
|
for (var i = 1; i < stats.stats.length; i++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user