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; 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) { function scale(factor, datapoints) {
return _.map(datapoints, point => { return _.map(datapoints, point => {
return [ return [
@@ -281,7 +293,8 @@ let metricFunctions = {
top: _.partial(limit, 'top'), top: _.partial(limit, 'top'),
bottom: _.partial(limit, 'bottom'), bottom: _.partial(limit, 'bottom'),
timeShift: timeShift, timeShift: timeShift,
setAlias: setAlias setAlias: setAlias,
setAliasByRegex: setAliasByRegex
}; };
let aggregationFunctions = { let aggregationFunctions = {

View File

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