diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c7d98a459b..0bce46a8e8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ### Enhancements * **Login**: Adds option to disable username/password logins, closes [#4674](https://github.com/grafana/grafana/issues/4674) +* **SingleStat**: Add seriename as option in singlestat panel, closes [#4740](https://github.com/grafana/grafana/issues/4740) # 3.1.0 stable (unreleased) diff --git a/public/app/plugins/panel/singlestat/editor.html b/public/app/plugins/panel/singlestat/editor.html index 0504277a5e1..bfe55003741 100644 --- a/public/app/plugins/panel/singlestat/editor.html +++ b/public/app/plugins/panel/singlestat/editor.html @@ -16,7 +16,10 @@ Value
  • - +
  • Postfix diff --git a/public/app/plugins/panel/singlestat/module.ts b/public/app/plugins/panel/singlestat/module.ts index b117e184826..0720a1bbc33 100644 --- a/public/app/plugins/panel/singlestat/module.ts +++ b/public/app/plugins/panel/singlestat/module.ts @@ -19,6 +19,9 @@ class SingleStatCtrl extends MetricsPanelCtrl { fontSizes: any[]; unitFormats: any[]; invalidGaugeRange: boolean; + panel: any; + events: any; + valueNameOptions: any[] = ['min','max','avg', 'current', 'total', 'name']; // Set and populate defaults panelDefaults = { @@ -186,7 +189,11 @@ class SingleStatCtrl extends MetricsPanelCtrl { var lastPoint = _.last(this.series[0].datapoints); var lastValue = _.isArray(lastPoint) ? lastPoint[0] : null; - if (_.isString(lastValue)) { + if (this.panel.valueName === 'name') { + data.value = 0; + data.valueRounded = 0; + data.valueFormated = this.series[0].alias; + } else if (_.isString(lastValue)) { data.value = 0; data.valueFormated = lastValue; data.valueRounded = 0; diff --git a/public/app/plugins/panel/singlestat/specs/singlestat-specs.ts b/public/app/plugins/panel/singlestat/specs/singlestat-specs.ts index 3d6c565443b..bb51be9777b 100644 --- a/public/app/plugins/panel/singlestat/specs/singlestat-specs.ts +++ b/public/app/plugins/panel/singlestat/specs/singlestat-specs.ts @@ -51,6 +51,22 @@ describe('SingleStatCtrl', function() { }); }); + singleStatScenario('showing serie name instead of value', function(ctx) { + ctx.setup(function() { + ctx.datapoints = [[10,1], [20,2]]; + ctx.ctrl.panel.valueName = 'name'; + }); + + it('Should use series avg as default main value', function() { + expect(ctx.data.value).to.be(0); + expect(ctx.data.valueRounded).to.be(0); + }); + + it('should set formated falue', function() { + expect(ctx.data.valueFormated).to.be('test.cpu1'); + }); + }); + singleStatScenario('MainValue should use same number for decimals as displayed when checking thresholds', function(ctx) { ctx.setup(function() { ctx.datapoints = [[99.999,1], [99.99999,2]];