diff --git a/src/datasource-zabbix/datasource.ts b/src/datasource-zabbix/datasource.ts index b02bb6d..c9042b8 100644 --- a/src/datasource-zabbix/datasource.ts +++ b/src/datasource-zabbix/datasource.ts @@ -18,8 +18,6 @@ import { ZabbixMetricsQuery, ZabbixDSOptions, VariableQueryTypes, ShowProblemTyp import { getBackendSrv, getTemplateSrv, toDataQueryResponse } from '@grafana/runtime'; import { DataFrame, DataQueryRequest, DataQueryResponse, DataSourceApi, DataSourceInstanceSettings, FieldType, isDataFrame, LoadingState } from '@grafana/data'; -const ENABLE_BACKEND_QUERIES = true; - export class ZabbixDatasource extends DataSourceApi { name: string; basicAuth: any; @@ -98,34 +96,34 @@ export class ZabbixDatasource extends DataSourceApi): Promise | Observable { - const isMetricQuery = options.targets.every(q => q.queryType === c.MODE_METRICS ||q.mode === c.MODE_METRICS); - if (isMetricQuery && ENABLE_BACKEND_QUERIES) { - return this.backendQuery(options); + query(request: DataQueryRequest): Promise | Observable { + const isMetricQuery = request.targets.every(q => q.queryType === c.MODE_METRICS || q.mode === c.MODE_METRICS); + if (isMetricQuery) { + return this.backendQuery(request); } // Create request for each target - const promises = _.map(options.targets, t => { + const promises = _.map(request.targets, t => { // Don't request for hidden targets if (t.hide) { return []; } - let timeFrom = Math.ceil(dateMath.parse(options.range.from) / 1000); - let timeTo = Math.ceil(dateMath.parse(options.range.to) / 1000); + let timeFrom = Math.ceil(dateMath.parse(request.range.from) / 1000); + let timeTo = Math.ceil(dateMath.parse(request.range.to) / 1000); // Add range variables - options.scopedVars = Object.assign({}, options.scopedVars, utils.getRangeScopedVars(options.range)); + request.scopedVars = Object.assign({}, request.scopedVars, utils.getRangeScopedVars(request.range)); // Prevent changes of original object let target = _.cloneDeep(t); // Migrate old targets target = migrations.migrate(target); - this.replaceTargetVariables(target, options); + this.replaceTargetVariables(target, request); // Apply Time-related functions (timeShift(), etc) const timeFunctions = bindFunctionDefs(target.functions, 'Time'); @@ -146,7 +144,7 @@ export class ZabbixDatasource extends DataSourceApi