From af798092b7a1078cd1050e26567eda60566a6c85 Mon Sep 17 00:00:00 2001 From: Mekal Zheng Date: Sat, 7 Jan 2017 00:12:23 +0800 Subject: [PATCH] add variable $intervalSecond --- .../datasource/elasticsearch/datasource.js | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/public/app/plugins/datasource/elasticsearch/datasource.js b/public/app/plugins/datasource/elasticsearch/datasource.js index 38fd6337f22..2f056eb9a2f 100644 --- a/public/app/plugins/datasource/elasticsearch/datasource.js +++ b/public/app/plugins/datasource/elasticsearch/datasource.js @@ -219,6 +219,38 @@ function (angular, _, moment, kbn, ElasticQueryBuilder, IndexPattern, ElasticRes return $q.when([]); } + // convert interval string to milliseconds + var intervalToSecond = function (intervalString) { + if (!intervalString) { + return 1; + } else { + var interval = parseInt(intervalString); + if (isNaN(interval)) { + return 1; + } else { + var lastIndex = intervalString.length - 1; + var unit = intervalString.slice(lastIndex); + var scale = 1; + switch (unit) { + case 'd': + scale = 86400; + break; + case 'h': + scale = 3600; + break; + case 'm': + scale = 60; + break; + default: + scale = 1; + } + return interval * scale; + } + } + }; + + // intervalSecond: interval in seconds + payload = payload.replace(/\$intervalSecond/g, intervalToSecond(options.interval)); payload = payload.replace(/\$interval/g, options.interval); payload = payload.replace(/\$timeFrom/g, options.range.from.valueOf()); payload = payload.replace(/\$timeTo/g, options.range.to.valueOf());