diff --git a/public/app/plugins/datasource/mixed/datasource.ts b/public/app/plugins/datasource/mixed/datasource.ts index 5798695e844..81cf381d75d 100644 --- a/public/app/plugins/datasource/mixed/datasource.ts +++ b/public/app/plugins/datasource/mixed/datasource.ts @@ -17,17 +17,23 @@ class MixedDatasource extends DataSourceApi { return Promise.resolve([]); } - const filtered = _.filter(targets, (t: DataQuery) => { - return !t.hide; - }); - - if (filtered.length === 0) { + if (targets.length === 0) { return { data: [] }; } return this.datasourceSrv.get(dsName).then(ds => { + // Remove any unused hidden queries + if (!ds.meta.hiddenQueries) { + targets = _.filter(targets, (t: DataQuery) => { + return !t.hide; + }); + if (targets.length === 0) { + return { data: [] }; + } + } + const opt = _.cloneDeep(options); - opt.targets = filtered; + opt.targets = targets; return ds.query(opt); }); }); diff --git a/public/app/plugins/datasource/mixed/plugin.json b/public/app/plugins/datasource/mixed/plugin.json index b28c58710f0..8d362e3bb5b 100644 --- a/public/app/plugins/datasource/mixed/plugin.json +++ b/public/app/plugins/datasource/mixed/plugin.json @@ -6,6 +6,7 @@ "builtIn": true, "mixed": true, "metrics": true, + "hiddenQueries": true, "queryOptions": { "minInterval": true