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]];