mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Worked on alias pattern for InfluxDB 0.9 editor, #1525
This commit is contained in:
parent
5f004f95f2
commit
921d672a2c
@ -29,7 +29,7 @@ function (_) {
|
||||
var seriesName = series.name;
|
||||
|
||||
if (self.alias) {
|
||||
seriesName = self.alias;
|
||||
seriesName = self._getSeriesName(series);
|
||||
} else if (series.tags) {
|
||||
var tags = _.map(series.tags, function(value, key) {
|
||||
return key + ': ' + value;
|
||||
@ -44,6 +44,21 @@ function (_) {
|
||||
return output;
|
||||
};
|
||||
|
||||
p._getSeriesName = function(series) {
|
||||
var regex = /\$(\w+)|\[\[([\s\S]+?)\]\]/g;
|
||||
|
||||
return this.alias.replace(regex, function(match, g1, g2) {
|
||||
var group = g1 || g2;
|
||||
|
||||
if (group === 'm' || group === 'measurement') { return series.name; }
|
||||
if (group.indexOf('tag_') !== 0) { return match; }
|
||||
|
||||
var tag = group.replace('tag_', '');
|
||||
if (!series.tags) { return match; }
|
||||
return series.tags[tag];
|
||||
});
|
||||
};
|
||||
|
||||
p.getAnnotations = function () {
|
||||
var list = [];
|
||||
var self = this;
|
||||
|
@ -9,13 +9,13 @@ define([
|
||||
var options = { series: [
|
||||
{
|
||||
name: 'cpu',
|
||||
tags: {app: 'test'},
|
||||
tags: {app: 'test', server: 'server1'},
|
||||
columns: ['time', 'mean'],
|
||||
values: [["2015-05-18T10:57:05Z", 10], ["2015-05-18T10:57:06Z", 12]]
|
||||
},
|
||||
{
|
||||
name: 'cpu',
|
||||
tags: {app: 'test2'},
|
||||
tags: {app: 'test2', server: 'server2'},
|
||||
columns: ['time', 'mean'],
|
||||
values: [["2015-05-18T10:57:05Z", 15], ["2015-05-18T10:57:06Z", 16]]
|
||||
}
|
||||
@ -28,13 +28,13 @@ define([
|
||||
var result = series.getTimeSeries();
|
||||
|
||||
expect(result.length).to.be(2);
|
||||
expect(result[0].target).to.be('cpu {app: test}');
|
||||
expect(result[0].target).to.be('cpu {app: test, server: server1}');
|
||||
expect(result[0].datapoints[0][0]).to.be(10);
|
||||
expect(result[0].datapoints[0][1]).to.be(1431946625000);
|
||||
expect(result[0].datapoints[1][0]).to.be(12);
|
||||
expect(result[0].datapoints[1][1]).to.be(1431946626000);
|
||||
|
||||
expect(result[1].target).to.be('cpu {app: test2}');
|
||||
expect(result[1].target).to.be('cpu {app: test2, server: server2}');
|
||||
expect(result[1].datapoints[0][0]).to.be(15);
|
||||
expect(result[1].datapoints[0][1]).to.be(1431946625000);
|
||||
expect(result[1].datapoints[1][0]).to.be(16);
|
||||
@ -52,6 +52,19 @@ define([
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('and alias patterns', function() {
|
||||
it('should replace patterns', function() {
|
||||
options.alias = 'alias: $m -> $tag_server ([[measurement]])';
|
||||
var series = new InfluxSeries(options);
|
||||
var result = series.getTimeSeries();
|
||||
|
||||
expect(result[0].target).to.be('alias: cpu -> server1 (cpu)');
|
||||
expect(result[1].target).to.be('alias: cpu -> server2 (cpu)');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user