setAlias using a regex (#336)

created a new function that allows to use a regex to manipulate item
name
This commit is contained in:
evandro-portugal
2017-01-23 09:52:46 -02:00
committed by Alexander Zobnin
parent bb0ebd9685
commit f96c847f6d
2 changed files with 27 additions and 3 deletions

View File

@@ -156,6 +156,18 @@ function setAlias(alias, timeseries) {
return timeseries;
}
function setAliasByRegex(alias, timeseries) {
timeseries.target = extractText(timeseries.target, alias);
return timeseries;
}
function extractText(str, pattern) {
var extractPattern = new RegExp(pattern);
var extractedValue = extractPattern.exec(str);
extractedValue = extractedValue[0]
return extractedValue;
}
function scale(factor, datapoints) {
return _.map(datapoints, point => {
return [
@@ -281,7 +293,8 @@ let metricFunctions = {
top: _.partial(limit, 'top'),
bottom: _.partial(limit, 'bottom'),
timeShift: timeShift,
setAlias: setAlias
setAlias: setAlias,
setAliasByRegex: setAliasByRegex
};
let aggregationFunctions = {

View File

@@ -149,13 +149,24 @@ addFuncDef({
defaultParams: ['24h'],
});
//Alias
addFuncDef({
name: 'setAlias',
category: 'Alias',
params: [
{ name: 'alias', type: 'string' }
],
defaultParams: [],
defaultParams: []
});
addFuncDef({
name: 'setAliasByRegex',
category: 'Alias',
params: [
{ name: 'aliasByRegex', type: 'string' }
],
defaultParams: []
});
_.each(categories, function(funcList, catName) {