2
2
3
3
## quantized form
4
4
5
- a raw is quantized when the timestamps are adjusted to be regular.
5
+ a raw series is quantized when the timestamps are adjusted to be regular (at fixed intervals).
6
+ Note that some points may be null (have no data), but they should be included.
6
7
E.g. an input stream that has:
7
8
* an interval of 10
8
9
* points with timestamps 58, 67, 75, 95
9
10
10
- is quantized to a series with points with timestamps 60, 70, 80, 90 (this one has no data ), 100.
11
+ is quantized to a series with points with timestamps 60, 70, 80, 90 (null ), 100.
11
12
12
13
## fixed form
13
14
14
15
a series is fixed, with respect to a query with from/to time, when
15
16
* it is quantized.
16
- * contains a point for each interval (possibly null).
17
- * contains only timestamps such that `from <= timestams < to`.
17
+ * contains only timestamps such that ` from <= timestamps < to ` .
18
18
19
19
## canonical form
20
20
@@ -25,7 +25,7 @@ with respect to how many points it contains and which timestamps they have.
25
25
It is important here to keep in mind that consolidated points get the timestamp of the last of its input points.
26
26
27
27
Continuing the above example, if we need to normalize the above series with aggNum 3 (OutInterval is 30s)
28
- We would normally get a series of (60,70,80), (90, 100, 110 - this one has no data), so 80, 110.
28
+ we would normally get a series of (60,70,80), (90, 100, 110 - null), so the 30-second timestamps become 80 and 110.
29
29
But this is not the quantized form of a series with an interval of 30.
30
30
31
31
So, what typically happens to make a series canonical, is at fetch time, also fetch some extra earlier data.
@@ -58,6 +58,7 @@ I.O.W. is a series that is fetched in such a way that when it is fed to Consolid
58
58
See above for more details.
59
59
60
60
## nudging
61
+
61
62
in graphite, nudging happens when doing MDP-based consolidation:
62
63
after determining the post-consolidation interval (here referred to as postInterval)
63
64
it removes a few points from the beginning of the series (if needed),
@@ -66,18 +67,18 @@ such that:
66
67
(i.o.w. the first point in the series is the first point for an aggregation bucket)
67
68
* across different requests, where points arrive on the right and leave the window on the left,
68
69
the same timestamps are always aggregated together, and the timestamp is always consistent
69
- and diviseble by the postInterval.
70
+ and divisible by the postInterval.
70
71
71
72
72
73
73
74
In metrictank we do the same, via nudge(), invoked when doing MDP-based consolidation.
74
- Except, when we have only few points, strict applicating of nudging may result in confusing,
75
+ Except, when we have only few points, strict application of nudging may result in confusing,
75
76
strongly altered results. We only nudge when we have points > 2 * postAggInterval's worth.
76
77
This means that in cases of few points and a low MDP value, where we don't nudge,
77
78
we do not provide the above 2 guarantees, but a more useful result.
78
79
79
80
80
- ## normalizing
81
+ ## normalization
81
82
82
83
given multiple series being fetched of different resolution, normalizing is runtime consolidation
83
84
but only for the purpose of bringing series of different resolutions to a common, lower resolution
0 commit comments