Expand variables in KairosDB Plugin

This commit is contained in:
Masaori Koshiba 2015-05-17 21:46:14 +09:00
parent ff403efe09
commit 41a73a7adb

View File

@ -9,7 +9,7 @@ function (angular, _, kbn) {
var module = angular.module('grafana.services'); var module = angular.module('grafana.services');
module.factory('KairosDBDatasource', function($q, $http) { module.factory('KairosDBDatasource', function($q, $http, templateSrv) {
function KairosDBDatasource(datasource) { function KairosDBDatasource(datasource) {
this.type = datasource.type; this.type = datasource.type;
@ -186,7 +186,7 @@ function (angular, _, kbn) {
} }
var query = { var query = {
name: target.metric name: templateSrv.replace(target.metric)
}; };
query.aggregators = []; query.aggregators = [];
@ -236,13 +236,20 @@ function (angular, _, kbn) {
if (target.tags) { if (target.tags) {
query.tags = angular.copy(target.tags); query.tags = angular.copy(target.tags);
_.forOwn(query.tags, function(value, key) {
query.tags[key] = _.map(value, function(tag) { return templateSrv.replace(tag); });
});
} }
if (target.groupByTags || target.nonTagGroupBys) { if (target.groupByTags || target.nonTagGroupBys) {
query.group_by = []; query.group_by = [];
if (target.groupByTags) { if (target.groupByTags) {
query.group_by.push({name: "tag", tags: angular.copy(target.groupByTags)}); query.group_by.push({
name: "tag",
tags: _.map(angular.copy(target.groupByTags), function(tag) { return templateSrv.replace(tag); })
});
} }
if (target.nonTagGroupBys) { if (target.nonTagGroupBys) {
_.each(target.nonTagGroupBys, function(rawGroupBy) { _.each(target.nonTagGroupBys, function(rawGroupBy) {
var formattedGroupBy = angular.copy(rawGroupBy); var formattedGroupBy = angular.copy(rawGroupBy);
@ -261,6 +268,8 @@ function (angular, _, kbn) {
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
KairosDBDatasource.prototype.convertToKairosInterval = function(intervalString) { KairosDBDatasource.prototype.convertToKairosInterval = function(intervalString) {
intervalString = templateSrv.replace(intervalString);
var interval_regex = /(\d+(?:\.\d+)?)([Mwdhmsy])/; var interval_regex = /(\d+(?:\.\d+)?)([Mwdhmsy])/;
var interval_regex_ms = /(\d+(?:\.\d+)?)(ms)/; var interval_regex_ms = /(\d+(?:\.\d+)?)(ms)/;
var matches = intervalString.match(interval_regex_ms); var matches = intervalString.match(interval_regex_ms);