mirror of https://github.com/grafana/grafana
Enhanced InfluxDB series aliasing (legend names) with pattern replacements (Issue #525)
parent
88ab36c45b
commit
1dbbfbbba6
@ -0,0 +1,142 @@ |
||||
define([ |
||||
'services/influxdb/influxSeries' |
||||
], function(InfluxSeries) { |
||||
'use strict'; |
||||
|
||||
describe('when generating timeseries from influxdb response', function() { |
||||
|
||||
describe('given two series', function() { |
||||
var series = new InfluxSeries({ |
||||
seriesList: [ |
||||
{ |
||||
columns: ['time', 'mean', 'sequence_number'], |
||||
name: 'prod.server1.cpu', |
||||
points: [[1402596000, 10, 1], [1402596001, 12, 2]] |
||||
}, |
||||
{ |
||||
columns: ['time', 'mean', 'sequence_number'], |
||||
name: 'prod.server2.cpu', |
||||
points: [[1402596000, 15, 1], [1402596001, 16, 2]] |
||||
} |
||||
] |
||||
}); |
||||
|
||||
var result = series.getTimeSeries(); |
||||
|
||||
it('should generate two time series', function() { |
||||
expect(result.length).to.be(2); |
||||
expect(result[0].target).to.be('prod.server1.cpu.mean'); |
||||
expect(result[0].datapoints[0][0]).to.be(10); |
||||
expect(result[0].datapoints[0][1]).to.be(1402596000); |
||||
expect(result[0].datapoints[1][0]).to.be(12); |
||||
expect(result[0].datapoints[1][1]).to.be(1402596001); |
||||
|
||||
expect(result[1].target).to.be('prod.server2.cpu.mean'); |
||||
expect(result[1].datapoints[0][0]).to.be(15); |
||||
expect(result[1].datapoints[0][1]).to.be(1402596000); |
||||
expect(result[1].datapoints[1][0]).to.be(16); |
||||
expect(result[1].datapoints[1][1]).to.be(1402596001); |
||||
}); |
||||
|
||||
}); |
||||
|
||||
describe('given an alias format', function() { |
||||
var series = new InfluxSeries({ |
||||
seriesList: [ |
||||
{ |
||||
columns: ['time', 'mean', 'sequence_number'], |
||||
name: 'prod.server1.cpu', |
||||
points: [[1402596000, 10, 1], [1402596001, 12, 2]] |
||||
} |
||||
], |
||||
alias: '$s.$c' |
||||
}); |
||||
|
||||
var result = series.getTimeSeries(); |
||||
|
||||
it('should generate correct series name', function() { |
||||
expect(result[0].target).to.be('prod.server1.cpu.mean'); |
||||
}); |
||||
|
||||
}); |
||||
|
||||
describe('given an alias format with segment numbers', function() { |
||||
var series = new InfluxSeries({ |
||||
seriesList: [ |
||||
{ |
||||
columns: ['time', 'mean', 'sequence_number'], |
||||
name: 'prod.server1.cpu', |
||||
points: [[1402596000, 10, 1], [1402596001, 12, 2]] |
||||
} |
||||
], |
||||
alias: '$1' |
||||
}); |
||||
|
||||
var result = series.getTimeSeries(); |
||||
|
||||
it('should generate correct series name', function() { |
||||
expect(result[0].target).to.be('server1'); |
||||
}); |
||||
|
||||
}); |
||||
|
||||
describe('given an alias format with group by field', function() { |
||||
var series = new InfluxSeries({ |
||||
seriesList: [ |
||||
{ |
||||
columns: ['time', 'mean', 'host'], |
||||
name: 'prod.cpu', |
||||
points: [[1402596000, 10, 'A']] |
||||
} |
||||
], |
||||
groupByField: 'host', |
||||
alias: '$g.$1' |
||||
}); |
||||
|
||||
var result = series.getTimeSeries(); |
||||
|
||||
it('should generate correct series name', function() { |
||||
expect(result[0].target).to.be('A.cpu'); |
||||
}); |
||||
|
||||
}); |
||||
|
||||
describe('given group by column', function() { |
||||
var series = new InfluxSeries({ |
||||
seriesList: [ |
||||
{ |
||||
columns: ['time', 'mean', 'host'], |
||||
name: 'prod.cpu', |
||||
points: [ |
||||
[1402596000, 10, 'A'], |
||||
[1402596001, 11, 'A'], |
||||
[1402596000, 5, 'B'], |
||||
[1402596001, 6, 'B'], |
||||
] |
||||
} |
||||
], |
||||
groupByField: 'host' |
||||
}); |
||||
|
||||
var result = series.getTimeSeries(); |
||||
|
||||
it('should generate two time series', function() { |
||||
expect(result.length).to.be(2); |
||||
expect(result[0].target).to.be('prod.cpu.A'); |
||||
expect(result[0].datapoints[0][0]).to.be(10); |
||||
expect(result[0].datapoints[0][1]).to.be(1402596000); |
||||
expect(result[0].datapoints[1][0]).to.be(11); |
||||
expect(result[0].datapoints[1][1]).to.be(1402596001); |
||||
|
||||
expect(result[1].target).to.be('prod.cpu.B'); |
||||
expect(result[1].datapoints[0][0]).to.be(5); |
||||
expect(result[1].datapoints[0][1]).to.be(1402596000); |
||||
expect(result[1].datapoints[1][0]).to.be(6); |
||||
expect(result[1].datapoints[1][1]).to.be(1402596001); |
||||
}); |
||||
|
||||
}); |
||||
|
||||
}); |
||||
|
||||
}); |
||||
Loading…
Reference in new issue