From 42b33c6bf8345a78e03e86b8dab5b260fd353ca7 Mon Sep 17 00:00:00 2001 From: kakakakakku Date: Tue, 17 Jan 2017 20:49:55 +0900 Subject: [PATCH 1/2] Fixed docs for functions "timeShift" --- docs/sources/reference/functions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sources/reference/functions.md b/docs/sources/reference/functions.md index 3e9e749..30c0f34 100644 --- a/docs/sources/reference/functions.md +++ b/docs/sources/reference/functions.md @@ -128,7 +128,7 @@ timeShift(interval) Draws the selected metrics shifted in time. If no sign is given, a minus sign ( - ) is implied which will shift the metric back in time. If a plus sign ( + ) is given, the metric will be shifted forward in time. Examples: ``` -timeShift(24h) - shift metric back in 2h hours +timeShift(24h) - shift metric back in 24h hours timeShift(-24h) - the same result as for timeShift(24h) timeShift(+1d) - shift metric forward in 1 day ``` From f96c847f6dd41601af4899ca39c7da61f034cacd Mon Sep 17 00:00:00 2001 From: evandro-portugal Date: Mon, 23 Jan 2017 09:52:46 -0200 Subject: [PATCH 2/2] setAlias using a regex (#336) created a new function that allows to use a regex to manipulate item name --- src/datasource-zabbix/dataProcessor.js | 15 ++++++++++++++- src/datasource-zabbix/metricFunctions.js | 15 +++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/datasource-zabbix/dataProcessor.js b/src/datasource-zabbix/dataProcessor.js index 0415d11..560ccd6 100644 --- a/src/datasource-zabbix/dataProcessor.js +++ b/src/datasource-zabbix/dataProcessor.js @@ -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 = { diff --git a/src/datasource-zabbix/metricFunctions.js b/src/datasource-zabbix/metricFunctions.js index 97e5c29..d2cca3d 100644 --- a/src/datasource-zabbix/metricFunctions.js +++ b/src/datasource-zabbix/metricFunctions.js @@ -149,13 +149,24 @@ addFuncDef({ defaultParams: ['24h'], }); +//Alias + addFuncDef({ name: 'setAlias', category: 'Alias', 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) {