diff --git a/docs/graphite.md b/docs/graphite.md index 9786f30a4f..719a4bb8b5 100644 --- a/docs/graphite.md +++ b/docs/graphite.md @@ -30,14 +30,20 @@ Here are the currently included functions: Function name and signature | Alias | Metrictank ----------------------------------------------------- | ------------ | ---------- alias(seriesList, alias) seriesList | | Stable -aliasByNode(seriesList, nodeList) seriesList | | Stable +aliasByNode(seriesList, nodeList) seriesList | aliasByTags | Stable aliasSub(seriesList, pattern, replacement) seriesList | | Stable averageSeries(seriesLists) series | avg | Stable consolidateBy(seriesList, func) seriesList | | Stable +diffSeries(seriesLists) series | | Stable divideSeries(seriesList, dividend, divisor) seriesList| | Stable +groupByTags(seriesList, func, tagList) seriesList | | Stable maxSeries(seriesList) series | max | Stable +minSeries(seriesList) series | min | Stable +multiplySeries(seriesList) series | | Stable movingAverage(seriesLists, windowSize) seriesList | | Unstable perSecond(seriesLists) seriesList | | Stable -scale(seriesLists, num) series | sum | Stable +rangeOfSeries(seriesList) series | | Stable +scale(seriesLists, num) series | | Stable +stddevSeries(seriesList) series | | Stable sumSeries(seriesLists) series | sum | Stable transformNull(seriesList, default=0) seriesList | | Stable diff --git a/expr/funcs.go b/expr/funcs.go index e28667b334..468424af39 100644 --- a/expr/funcs.go +++ b/expr/funcs.go @@ -53,16 +53,20 @@ func init() { "avg": {NewAggregateConstructor("average", crossSeriesAvg), true}, "averageSeries": {NewAggregateConstructor("average", crossSeriesAvg), true}, "consolidateBy": {NewConsolidateBy, true}, + "diffSeries": {NewAggregateConstructor("diff", crossSeriesDiff), true}, "divideSeries": {NewDivideSeries, true}, "groupByTags": {NewGroupByTags, true}, "max": {NewAggregateConstructor("max", crossSeriesMax), true}, "maxSeries": {NewAggregateConstructor("max", crossSeriesMax), true}, "min": {NewAggregateConstructor("min", crossSeriesMin), true}, "minSeries": {NewAggregateConstructor("min", crossSeriesMin), true}, + "multiplySeries": {NewAggregateConstructor("multiply", crossSeriesMultiply), true}, "movingAverage": {NewMovingAverage, false}, "perSecond": {NewPerSecond, true}, + "rangeOfSeries": {NewAggregateConstructor("rangeOf", crossSeriesRange), true}, "scale": {NewScale, true}, "smartSummarize": {NewSmartSummarize, false}, + "stddevSeries": {NewAggregateConstructor("stddev", crossSeriesStddev), true}, "sum": {NewAggregateConstructor("sum", crossSeriesSum), true}, "sumSeries": {NewAggregateConstructor("sum", crossSeriesSum), true}, "transformNull": {NewTransformNull, true},