[MINOR] Handle series if no data
[MINOR] Handle series if no data
- show "NO DATA" if there is no data in series.
Author: chitin <chitin1027@gmail.com>
Closes #781 from chitin/handlenodata.
diff --git a/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/ctrls/overview.js b/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/ctrls/overview.js
index 1efd47b..8e9140f 100644
--- a/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/ctrls/overview.js
+++ b/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/ctrls/overview.js
@@ -188,13 +188,10 @@
host: $scope.defaultHostname
};
METRIC.hbaseMomentMetric(jobCond,"hadoop.hbase.master.server.averageload", 1).then(function (res) {
- $scope.hmasteraverageload = res.data.obj[0].value[0];
+ $scope.hmasteraverageload = (typeof res.data.obj[0] !== 'undefined') ? res.data.obj[0].value[0] : "-1";
});
});
-
};
-
-
Time.onReload(function () {
cache = {};
$scope.refresh();
diff --git a/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/partials/overview.html b/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/partials/overview.html
index f58ab21..27965cb 100644
--- a/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/partials/overview.html
+++ b/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/partials/overview.html
@@ -35,7 +35,10 @@
<tr>
<td><a ui-sref="backupMasterList({siteId: site})" target="_blank">{{hmasterstandbynum}}</a></td>
<th>Backup HBase Master</th>
- <td>{{hmasteraverageload}}</td>
+ <td>
+ <span ng-show="hmasteraverageload !== '-1'">{{hmasteraverageload}}</span>
+ <span ng-show="hmasteraverageload === '-1'" class="fa fa-question-circle"></span>
+ </td>
<th>Average Load</th>
</tr>
<tr>
@@ -64,8 +67,15 @@
<div class="col-sm-6 col-md-4 col-lg-3" ng-repeat="metric in metricList track by $index">
<div class="hadoopMetric-chart">
<h3>{{metric.title}}</h3>
- <div chart class="hadoopMetric-chart-container" series="metric.series"
+ <div ng-show="metric.series.length" chart class="hadoopMetric-chart-container" series="metric.series"
option="metric.option"></div>
+ <div ng-show="!metric.series.length" class="hadoopMetric-chart-container">
+ <div class="hadoopMetric-chart-container-withborder">
+ <div class="hadoopMetric-no-chart-data">
+ <span class="fa fa-question-circle"></span><span> NO DATA</span>
+ </div>
+ </div>
+ </div>
</div>
</div>
</div>
diff --git a/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/partials/region/regionDetail.html b/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/partials/region/regionDetail.html
index e95bd24..441d0b8 100644
--- a/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/partials/region/regionDetail.html
+++ b/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/partials/region/regionDetail.html
@@ -96,7 +96,14 @@
<div class="col-sm-6 hadoopMetric-col-md-6 col-lg-3" ng-repeat="metric in metricList track by $index">
<div class="hadoopMetric-chart">
<h3>{{metric.title}}</h3>
- <div chart class="hadoopMetric-chart-container" series="metric.series" option="metric.option"></div>
+ <div ng-show="metric.series.length" chart class="hadoopMetric-chart-container"
+ series="metric.series"
+ option="metric.option"></div>
+ <div ng-show="!metric.series.length" class="hadoopMetric-chart-container">
+ <div class="hadoopMetric-no-chart-data">
+ <span class="fa fa-question-circle"></span><span> NO DATA</span>
+ </div>
+ </div>
</div>
</div>
</div>
diff --git a/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/style/index.css b/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/style/index.css
index 4f2298c..b921d8f 100644
--- a/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/style/index.css
+++ b/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/style/index.css
@@ -32,6 +32,14 @@
position: relative;
}
+.hadoopMetric-chart .hadoopMetric-no-chart-data {
+ position:absolute;
+ left: 38%;
+ top: 40%;
+ font-size: 20px;
+ color: #999;
+}
+
.with-border .hadoopMetric-chart {
padding-bottom: 15px;
margin-bottom: 15px;
diff --git a/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/widgets/availabilityChart.js b/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/widgets/availabilityChart.js
index 48a139a..f2606ad 100644
--- a/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/widgets/availabilityChart.js
+++ b/eagle-hadoop-metric/src/main/webapp/app/apps/hadoop_metric/widgets/availabilityChart.js
@@ -40,14 +40,12 @@
return {
siteId: app.site.siteId,
siteName: app.site.siteName || app.site.siteId,
- count: -1
};
});
} else {
$scope.list = [{
siteId: site.siteId,
siteName: site.siteName || site.siteId,
- count: -1
}];
}
// Get type
@@ -141,4 +139,3 @@
hadoopMetricApp.widget("availabilityHBaseChart", withType('HBase'), true);
});
})();
-//# sourceURL=availabilityChart.js