Skip to content
This repository was archived by the owner on Aug 23, 2023. It is now read-only.

Commit cad6baf

Browse files
committed
1 parent ff66aaf commit cad6baf

File tree

1 file changed

+149
-47
lines changed

1 file changed

+149
-47
lines changed

docs/graphite.md

+149-47
Original file line numberDiff line numberDiff line change
@@ -19,55 +19,157 @@ Here are some important functional differences to keep in mind:
1919

2020
Metrictank aims to be able to provide as much processing power as it can: we're in the process
2121
of implementing [Graphite's extensive processing api](http://graphite.readthedocs.io/en/latest/functions.html) into metrictank itself.
22-
We're only just getting started, which is why metrictank will automatically proxy requests to graphite if functions are requested
23-
that it cannot provide. You can also choose to enable unstable functions via process=any
22+
23+
Below is an overview of all current Graphite functions (as of Aug 15, 2018) and their support in metrictank.
24+
There are 3 levels of support:
25+
26+
* No : not implemented yet in metrictank or not applicable (e.g. graphite functions that affect graphical style but not json data)
27+
* Stable : 100% compatible with graphite and vetted
28+
* Unstable: not fully compatible yet or not vetted enough
29+
30+
When you request functions that metrictank cannot provide, it will automatically proxy requests to graphite for a seamless failover.
31+
You can also choose to enable unstable functions via process=any
2432
See also:
2533
* [HTTP api docs for render endpoint](https://github.com/grafana/metrictank/blob/master/docs/http-api.md#graphite-query-api)
2634
* [HTTP api configuration](https://github.com/grafana/metrictank/blob/master/docs/config.md#http-api). Note the `fallback-graphite-addr` setting.
2735

28-
Here are the currently included functions:
2936

30-
| Function name and signature | Alias | Metrictank |
31-
| -------------------------------------------------------------- | ----------- | ---------- |
32-
| alias(seriesList, alias) seriesList | | Stable |
33-
| aliasByNode(seriesList, nodeList) seriesList | aliasByTags | Stable |
34-
| aliasSub(seriesList, pattern, replacement) seriesList | | Stable |
35-
| asPercent(seriesList, seriesList, nodeList) seriesList | | Stable |
36-
| averageSeries(seriesLists) series | avg | Stable |
37-
| consolidateBy(seriesList, func) seriesList | | Stable |
38-
| countSeries(seriesLists) series | | Stable |
39-
| derivative(seriesLists) series | | Stable |
40-
| diffSeries(seriesLists) series | | Stable |
41-
| divideSeries(dividend, divisor) seriesList | | Stable |
42-
| divideSeriesLists(dividends, divisors) seriesList | | Stable |
43-
| exclude(seriesList, pattern) seriesList | | Stable |
44-
| filterSeries(seriesList, func, operator, threshold) seriesList | | Stable |
45-
| grep(seriesList, pattern) seriesList | | Stable |
46-
| groupByTags(seriesList, func, tagList) seriesList | | Stable |
47-
| highest(seriesList, n, func) seriesList | | Stable |
48-
| highestAverage(seriesList, n, func) seriesList | | Stable |
49-
| highestCurrent(seriesList, n, func) seriesList | | Stable |
50-
| highestMax(seriesList, n, func) seriesList | | Stable |
51-
| isNonNull(seriesList) seriesList | | Stable |
52-
| lowest(seriesList, n, func) seriesList | | Stable |
53-
| lowestAverage(seriesList, n, func) seriesList | | Stable |
54-
| lowestCurrent(seriesList, n, func) seriesList | | Stable |
55-
| maxSeries(seriesList) series | max | Stable |
56-
| minSeries(seriesList) series | min | Stable |
57-
| multiplySeries(seriesList) series | | Stable |
58-
| movingAverage(seriesLists, windowSize) seriesList | | Unstable |
59-
| nonNegatievDerivative(seriesList, maxValue) seriesList | | Stable |
60-
| perSecond(seriesLists) seriesList | | Stable |
61-
| rangeOfSeries(seriesList) series | | Stable |
62-
| removeAboveValue(seriesList, n) seriesList | | Stable |
63-
| removeBelowValue(seriesList, n) seriesList | | Stable |
64-
| scale(seriesList, num) series | | Stable |
65-
| scaleToSeconds(seriesList, seconds) seriesList | | Stable |
66-
| sortBy(seriesList, func, reverse) seriesList | | Stable |
67-
| sortByMaxima(seriesList) seriesList | | Stable |
68-
| sortByName(seriesList, natural, reverse) seriesList | | Stable |
69-
| sortByTotal(seriesList) seriesList | | Stable |
70-
| stddevSeries(seriesList) series | | Stable |
71-
| sumSeries(seriesLists) series | sum | Stable |
72-
| summarize(seriesList) seriesList | | Stable |
73-
| transformNull(seriesList, default=0) seriesList | | Stable |
37+
| Function name and signature | Alias | Metrictank |
38+
| -------------------------------------------------------------- | ----------- | ---------- |
39+
| absolute | | No |
40+
| aggregate | | No |
41+
| aggregateLine | | No |
42+
| aggregateWithWildcards | | No |
43+
| alias(seriesList, alias) seriesList | | Stable |
44+
| aliasByMetric | | No |
45+
| aliasByNode(seriesList, nodeList) seriesList | aliasByTags | Stable |
46+
| aliasByTags | | No |
47+
| aliasQuery | | No |
48+
| aliasSub(seriesList, pattern, replacement) seriesList | | Stable |
49+
| alpha | | No |
50+
| applyByNode | | No |
51+
| areaBetween | | No |
52+
| asPercent(seriesList, seriesList, nodeList) seriesList | | Stable |
53+
| averageAbove | | No |
54+
| averageBelow | | No |
55+
| averageOutsidePercentile | | No |
56+
| averageSeries(seriesLists) series | avg | Stable |
57+
| averageSeriesWithWildcards | | No |
58+
| cactiStyle | | No |
59+
| changed | | No |
60+
| color | | No |
61+
| consolidateBy(seriesList, func) seriesList | | Stable |
62+
| constantLine | | No |
63+
| countSeries(seriesLists) series | | Stable |
64+
| cumulative | | No |
65+
| currentAbove | | No |
66+
| currentBelow | | No |
67+
| dashed | | No |
68+
| delay | | No |
69+
| derivative(seriesLists) series | | Stable |
70+
| diffSeries(seriesLists) series | | Stable |
71+
| divideSeries(dividend, divisor) seriesList | | Stable |
72+
| divideSeriesLists(dividends, divisors) seriesList | | Stable |
73+
| drawAsInfinite | | No |
74+
| events | | No |
75+
| exclude(seriesList, pattern) seriesList | | Stable |
76+
| exponentialMovingAverage | | No |
77+
| fallbackSeries | | No |
78+
| filterSeries(seriesList, func, operator, threshold) seriesList | | Stable |
79+
| grep(seriesList, pattern) seriesList | | Stable |
80+
| group | | No |
81+
| groupByNode | | No |
82+
| groupByNodes | | No |
83+
| groupByTags(seriesList, func, tagList) seriesList | | Stable |
84+
| highest(seriesList, n, func) seriesList | | Stable |
85+
| highestAverage(seriesList, n, func) seriesList | | Stable |
86+
| highestCurrent(seriesList, n, func) seriesList | | Stable |
87+
| highestMax(seriesList, n, func) seriesList | | Stable |
88+
| hitcount | | No |
89+
| holtWintersAberration | | No |
90+
| holtWintersConfidenceArea | | No |
91+
| holtWintersConfidenceBands | | No |
92+
| holtWintersForecast | | No |
93+
| identity | | No |
94+
| integral | | No |
95+
| integralByInterval | | No |
96+
| interpolate | | No |
97+
| invert | | No |
98+
| isNonNull(seriesList) seriesList | | Stable |
99+
| keepLastValue | | No |
100+
| legendValue | | No |
101+
| limit | | No |
102+
| linearRegression | | No |
103+
| lineWidth | | No |
104+
| logarithm | | No |
105+
| lowest(seriesList, n, func) seriesList | | Stable |
106+
| lowestAverage(seriesList, n, func) seriesList | | Stable |
107+
| lowestCurrent(seriesList, n, func) seriesList | | Stable |
108+
| mapSeries | map | No |
109+
| maximumAbove | | No |
110+
| maximumBelow | | No |
111+
| maxSeries(seriesList) series | max | Stable |
112+
| minimumAbove | | No |
113+
| minimumBelow | | No |
114+
| minMax | | No |
115+
| minSeries(seriesList) series | min | Stable |
116+
| mostDeviant | | No |
117+
| movingAverage(seriesLists, windowSize) seriesList | | Unstable |
118+
| movingMax | | No |
119+
| movingMedian | | No |
120+
| movingMin | | No |
121+
| movingSum | | No |
122+
| movingWindow | | No |
123+
| multiplySeries(seriesList) series | | Stable |
124+
| multiplySeriesWithWildcards | | No |
125+
| nonNegatievDerivative(seriesList, maxValue) seriesList | | Stable |
126+
| nPercentile | | No |
127+
| offset | | No |
128+
| offsetToZero | | No |
129+
| percentileOfSeries | | No |
130+
| perSecond(seriesLists) seriesList | | Stable |
131+
| pieAverage | | No |
132+
| pieMaximum | | No |
133+
| pieMinimum | | No |
134+
| pow | | No |
135+
| powSeries | | No |
136+
| randomWalkFunction | randomWalk | No |
137+
| rangeOfSeries(seriesList) series | | Stable |
138+
| reduceSeries | reduce | No |
139+
| removeAbovePercentile | | No |
140+
| removeAboveValue(seriesList, n) seriesList | | Stable |
141+
| removeBelowPercentile | | No |
142+
| removeBelowValue(seriesList, n) seriesList | | Stable |
143+
| removeBetweenPercentile | | No |
144+
| removeEmptySeries | | No |
145+
| roundFunction | | No |
146+
| scale(seriesList, num) series | | Stable |
147+
| scaleToSeconds(seriesList, seconds) seriesList | | Stable |
148+
| secondYAxis | | No |
149+
| seriesByTag | | No |
150+
| setXFilesFactor | xFilesFactor | No |
151+
| sinFunction | sin | No |
152+
| smartSummarize | | No |
153+
| sortBy(seriesList, func, reverse) seriesList | | Stable |
154+
| sortByMaxima(seriesList) seriesList | | Stable |
155+
| sortByMinima | | No |
156+
| sortByName(seriesList, natural, reverse) seriesList | | Stable |
157+
| sortByTotal(seriesList) seriesList | | Stable |
158+
| squareRoot | | No |
159+
| stacked | | No |
160+
| stddevSeries(seriesList) series | | Stable |
161+
| stdev | | No |
162+
| substr | | No |
163+
| summarize(seriesList) seriesList | | Stable |
164+
| sumSeries(seriesLists) series | sum | Stable |
165+
| sumSeriesWithWildcards | | No |
166+
| threshold | | No |
167+
| timeFunction | time | No |
168+
| timeShift | | No |
169+
| timeSlice | | No |
170+
| timeStack | | No |
171+
| transformNull(seriesList, default=0) seriesList | | Stable |
172+
| unique | | No |
173+
| useSeriesAbove | | No |
174+
| verticalLine | | No |
175+
| weightedAverage | | No |

0 commit comments

Comments
 (0)