refactor(influxdb series handling): performance and refactoring of PR #2179, also switched to InfluxDB epoch json format
This commit is contained in:
@@ -130,7 +130,7 @@ function (angular, _, kbn, InfluxSeries, InfluxQueryBuilder) {
|
||||
}
|
||||
|
||||
InfluxDatasource.prototype._seriesQuery = function(query) {
|
||||
return this._influxRequest('GET', '/query', {q: query});
|
||||
return this._influxRequest('GET', '/query', {q: query, epoch: 'ms'});
|
||||
};
|
||||
|
||||
InfluxDatasource.prototype.testDatasource = function() {
|
||||
|
||||
@@ -15,43 +15,37 @@ function (_) {
|
||||
p.getTimeSeries = function() {
|
||||
var output = [];
|
||||
var self = this;
|
||||
var i, j;
|
||||
|
||||
if (self.series.length === 0) {
|
||||
return output;
|
||||
}
|
||||
|
||||
var field_datapoints = function(datapoints, column_index) {
|
||||
return _.map(datapoints, function(datapoint) {
|
||||
return [datapoint[column_index - 1], _.last(datapoint)];
|
||||
});
|
||||
};
|
||||
|
||||
_.each(self.series, function(series) {
|
||||
var datapoints = [];
|
||||
var columns = series.columns.length;
|
||||
for (var i = 0; i < series.values.length; i++) {
|
||||
datapoints[i] = series.values[i].slice(1);
|
||||
datapoints[i].push(new Date(series.values[i][0]).getTime());
|
||||
}
|
||||
var tags = _.map(series.tags, function(value, key) {
|
||||
return key + ': ' + value;
|
||||
});
|
||||
|
||||
for (var j = 1; j < columns; j++) {
|
||||
for (j = 1; j < columns; j++) {
|
||||
var seriesName = series.name;
|
||||
var columnName = series.columns[j];
|
||||
if (columnName !== 'value') {
|
||||
seriesName = seriesName + '.' + columnName;
|
||||
}
|
||||
|
||||
if (self.alias) {
|
||||
seriesName = self._getSeriesName(series);
|
||||
} else if (series.tags) {
|
||||
var tags = _.map(series.tags, function(value, key) {
|
||||
return key + ': ' + value;
|
||||
});
|
||||
if (columnName === 'value') {
|
||||
seriesName = seriesName + ' {' + tags.join(', ') + '}';
|
||||
} else {
|
||||
seriesName = seriesName + '.' + columnName + ' {' + tags.join(', ') + '}';
|
||||
}
|
||||
seriesName = seriesName + ' {' + tags.join(', ') + '}';
|
||||
}
|
||||
|
||||
output.push({ target: seriesName, datapoints: field_datapoints(datapoints, j)});
|
||||
var datapoints = [];
|
||||
for (i = 0; i < series.values.length; i++) {
|
||||
datapoints[i] = [series.values[i][j], series.values[i][0]];
|
||||
}
|
||||
|
||||
output.push({ target: seriesName, datapoints: datapoints});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ define([
|
||||
name: 'cpu',
|
||||
tags: {app: 'test', server: 'server1'},
|
||||
columns: ['time', 'mean', 'max', 'min'],
|
||||
values: [["2015-05-18T10:57:05Z", 10, 11, 9], ["2015-05-18T10:57:06Z", 20, 21, 19]]
|
||||
values: [[1431946625000, 10, 11, 9], [1431946626000, 20, 21, 19]]
|
||||
}
|
||||
]};
|
||||
describe('and no alias', function() {
|
||||
@@ -101,13 +101,13 @@ define([
|
||||
name: 'cpu',
|
||||
tags: {app: 'test', server: 'server1'},
|
||||
columns: ['time', 'mean'],
|
||||
values: [["2015-05-18T10:57:05Z", 10], ["2015-05-18T10:57:06Z", 12]]
|
||||
values: [[1431946625000, 10], [1431946626000, 12]]
|
||||
},
|
||||
{
|
||||
name: 'cpu',
|
||||
tags: {app: 'test2', server: 'server2'},
|
||||
columns: ['time', 'mean'],
|
||||
values: [["2015-05-18T10:57:05Z", 15], ["2015-05-18T10:57:06Z", 16]]
|
||||
values: [[1431946625000, 15], [1431946626000, 16]]
|
||||
}
|
||||
]};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user