|
@@ -25,7 +25,7 @@ function serializeParams(params) {
|
|
|
const MAX_SERIES = 20;
|
|
const MAX_SERIES = 20;
|
|
|
export default class InfluxDatasource {
|
|
export default class InfluxDatasource {
|
|
|
type: string;
|
|
type: string;
|
|
|
- urls: any;
|
|
|
|
|
|
|
+ url: string;
|
|
|
username: string;
|
|
username: string;
|
|
|
password: string;
|
|
password: string;
|
|
|
name: string;
|
|
name: string;
|
|
@@ -40,7 +40,7 @@ export default class InfluxDatasource {
|
|
|
/** @ngInject */
|
|
/** @ngInject */
|
|
|
constructor(instanceSettings, private backendSrv, private templateSrv) {
|
|
constructor(instanceSettings, private backendSrv, private templateSrv) {
|
|
|
this.type = 'influxdb-ifql';
|
|
this.type = 'influxdb-ifql';
|
|
|
- this.urls = instanceSettings.url.split(',').map(url => url.trim());
|
|
|
|
|
|
|
+ this.url = instanceSettings.url.trim();
|
|
|
|
|
|
|
|
this.username = instanceSettings.username;
|
|
this.username = instanceSettings.username;
|
|
|
this.password = instanceSettings.password;
|
|
this.password = instanceSettings.password;
|
|
@@ -115,25 +115,8 @@ export default class InfluxDatasource {
|
|
|
return {};
|
|
return {};
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- targetContainsTemplate(target) {
|
|
|
|
|
- for (let group of target.groupBy) {
|
|
|
|
|
- for (let param of group.params) {
|
|
|
|
|
- if (this.templateSrv.variableExists(param)) {
|
|
|
|
|
- return true;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- for (let i in target.tags) {
|
|
|
|
|
- if (this.templateSrv.variableExists(target.tags[i].value)) {
|
|
|
|
|
- return true;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
metricFindQuery(query: string, options?: any) {
|
|
metricFindQuery(query: string, options?: any) {
|
|
|
|
|
+ // TODO not implemented
|
|
|
var interpolated = this.templateSrv.replace(query, null, 'regex');
|
|
var interpolated = this.templateSrv.replace(query, null, 'regex');
|
|
|
|
|
|
|
|
return this._seriesQuery(interpolated, options).then(_.curry(parseResults)(query));
|
|
return this._seriesQuery(interpolated, options).then(_.curry(parseResults)(query));
|
|
@@ -166,11 +149,6 @@ export default class InfluxDatasource {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
_influxRequest(method: string, url: string, data: any, options?: any) {
|
|
_influxRequest(method: string, url: string, data: any, options?: any) {
|
|
|
- // TODO reinstante Round-robin
|
|
|
|
|
- // const currentUrl = this.urls.shift();
|
|
|
|
|
- // this.urls.push(currentUrl);
|
|
|
|
|
- const currentUrl = this.urls[0];
|
|
|
|
|
-
|
|
|
|
|
let params: any = {
|
|
let params: any = {
|
|
|
orgName: this.orgName,
|
|
orgName: this.orgName,
|
|
|
};
|
|
};
|
|
@@ -180,19 +158,13 @@ export default class InfluxDatasource {
|
|
|
params.p = this.password;
|
|
params.p = this.password;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (options && options.database) {
|
|
|
|
|
- params.db = options.database;
|
|
|
|
|
- } else if (this.database) {
|
|
|
|
|
- params.db = this.database;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
// data sent as GET param
|
|
// data sent as GET param
|
|
|
_.extend(params, data);
|
|
_.extend(params, data);
|
|
|
data = null;
|
|
data = null;
|
|
|
|
|
|
|
|
let req: any = {
|
|
let req: any = {
|
|
|
method: method,
|
|
method: method,
|
|
|
- url: currentUrl + url,
|
|
|
|
|
|
|
+ url: this.url + url,
|
|
|
params: params,
|
|
params: params,
|
|
|
data: data,
|
|
data: data,
|
|
|
precision: 'ms',
|
|
precision: 'ms',
|