Commit 519dfd08 by Marcus Efraimsson

make sure influx takes dashboard timezone into consideration

parent 37a73b6b
...@@ -127,7 +127,7 @@ export default class InfluxDatasource { ...@@ -127,7 +127,7 @@ export default class InfluxDatasource {
}); });
} }
const timeFilter = this.getTimeFilter({ rangeRaw: options.rangeRaw }); const timeFilter = this.getTimeFilter({ rangeRaw: options.rangeRaw, timezone: options.timezone });
let query = options.annotation.query.replace('$timeFilter', timeFilter); let query = options.annotation.query.replace('$timeFilter', timeFilter);
query = this.templateSrv.replace(query, null, 'regex'); query = this.templateSrv.replace(query, null, 'regex');
...@@ -184,7 +184,7 @@ export default class InfluxDatasource { ...@@ -184,7 +184,7 @@ export default class InfluxDatasource {
} }
if (options && options.range) { if (options && options.range) {
const timeFilter = this.getTimeFilter({ rangeRaw: options.range }); const timeFilter = this.getTimeFilter({ rangeRaw: options.range, timezone: options.timezone });
query = query.replace('$timeFilter', timeFilter); query = query.replace('$timeFilter', timeFilter);
} }
...@@ -291,8 +291,8 @@ export default class InfluxDatasource { ...@@ -291,8 +291,8 @@ export default class InfluxDatasource {
} }
getTimeFilter(options) { getTimeFilter(options) {
const from = this.getInfluxTime(options.rangeRaw.from, false); const from = this.getInfluxTime(options.rangeRaw.from, false, options.timezone);
const until = this.getInfluxTime(options.rangeRaw.to, true); const until = this.getInfluxTime(options.rangeRaw.to, true, options.timezone);
const fromIsAbsolute = from[from.length - 1] === 'ms'; const fromIsAbsolute = from[from.length - 1] === 'ms';
if (until === 'now()' && !fromIsAbsolute) { if (until === 'now()' && !fromIsAbsolute) {
...@@ -302,7 +302,7 @@ export default class InfluxDatasource { ...@@ -302,7 +302,7 @@ export default class InfluxDatasource {
return 'time >= ' + from + ' and time <= ' + until; return 'time >= ' + from + ' and time <= ' + until;
} }
getInfluxTime(date, roundUp) { getInfluxTime(date, roundUp, timezone) {
if (_.isString(date)) { if (_.isString(date)) {
if (date === 'now') { if (date === 'now') {
return 'now()'; return 'now()';
...@@ -314,7 +314,7 @@ export default class InfluxDatasource { ...@@ -314,7 +314,7 @@ export default class InfluxDatasource {
const unit = parts[2]; const unit = parts[2];
return 'now() - ' + amount + unit; return 'now() - ' + amount + unit;
} }
date = dateMath.parse(date, roundUp); date = dateMath.parse(date, roundUp, timezone);
} }
return date.valueOf() + 'ms'; return date.valueOf() + 'ms';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment