mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
refactor: minor refactoring
This commit is contained in:
@@ -26,8 +26,7 @@ class GraphCtrl extends MetricsPanelCtrl {
|
||||
alertState: any;
|
||||
|
||||
annotationsPromise: any;
|
||||
datapointsCount: number;
|
||||
datapointsOutside: boolean;
|
||||
dataWarning: any;
|
||||
colors: any = [];
|
||||
subTabIndex: number;
|
||||
processor: DataProcessor;
|
||||
@@ -178,14 +177,26 @@ class GraphCtrl extends MetricsPanelCtrl {
|
||||
this.dataList = dataList;
|
||||
this.seriesList = this.processor.getSeriesList({dataList: dataList, range: this.range});
|
||||
|
||||
this.datapointsCount = this.seriesList.reduce((prev, series) => {
|
||||
this.dataWarning = null;
|
||||
const datapointsCount = this.seriesList.reduce((prev, series) => {
|
||||
return prev + series.datapoints.length;
|
||||
}, 0);
|
||||
|
||||
this.datapointsOutside = false;
|
||||
for (let series of this.seriesList) {
|
||||
if (series.isOutsideRange) {
|
||||
this.datapointsOutside = true;
|
||||
if (datapointsCount === 0) {
|
||||
this.dataWarning = {
|
||||
title: 'No data points',
|
||||
tip: 'No datapoints returned from data query'
|
||||
};
|
||||
} else {
|
||||
|
||||
for (let series of this.seriesList) {
|
||||
if (series.isOutsideRange) {
|
||||
this.dataWarning = {
|
||||
title: 'Data points outside time range',
|
||||
tip: 'Can be caused by timezone mismatch or missing time filter in query',
|
||||
};
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ describe('GraphCtrl', function() {
|
||||
});
|
||||
|
||||
it('should set datapointsOutside', function() {
|
||||
expect(ctx.ctrl.datapointsOutside).to.be(true);
|
||||
expect(ctx.ctrl.dataWarning.title).to.be('Data points outside time range');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -55,21 +55,21 @@ describe('GraphCtrl', function() {
|
||||
});
|
||||
|
||||
it('should set datapointsOutside', function() {
|
||||
expect(ctx.ctrl.datapointsOutside).to.be(false);
|
||||
expect(ctx.ctrl.dataWarning).to.be(null);
|
||||
});
|
||||
});
|
||||
|
||||
describe('datapointsCount given 2 series', function() {
|
||||
beforeEach(function() {
|
||||
var data = [
|
||||
{target: 'test.cpu1', datapoints: [[45, 1234567890], [60, 1234567899]]},
|
||||
{target: 'test.cpu2', datapoints: [[45, 1234567890]]},
|
||||
{target: 'test.cpu1', datapoints: []},
|
||||
{target: 'test.cpu2', datapoints: []},
|
||||
];
|
||||
ctx.ctrl.onDataReceived(data);
|
||||
});
|
||||
|
||||
it('should set datapointsCount to sum of datapoints', function() {
|
||||
expect(ctx.ctrl.datapointsCount).to.be(3);
|
||||
it('should set datapointsCount warning', function() {
|
||||
expect(ctx.ctrl.dataWarning.title).to.be('No data points');
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -2,17 +2,8 @@ var template = `
|
||||
<div class="graph-wrapper" ng-class="{'graph-legend-rightside': ctrl.panel.legend.rightSide}">
|
||||
<div class="graph-canvas-wrapper">
|
||||
|
||||
<div class="datapoints-warning" ng-show="ctrl.datapointsCount===0">
|
||||
<span class="small" >
|
||||
No datapoints <tip>No datapoints returned from metric query</tip>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="datapoints-warning" ng-show="ctrl.datapointsOutside">
|
||||
<span class="small">
|
||||
Datapoints outside time range
|
||||
<tip>Can be caused by timezone mismatch between browser and graphite server</tip>
|
||||
</span>
|
||||
<div class="datapoints-warning" ng-if="ctrl.dataWarning">
|
||||
<span class="small" bs-tooltip="ctrl.dataWarning.tip">{{ctrl.dataWarning.title}}</span>
|
||||
</div>
|
||||
|
||||
<div grafana-graph class="histogram-chart" ng-dblclick="ctrl.zoomOut()">
|
||||
|
||||
Reference in New Issue
Block a user