← Back to team overview

graphite-dev team mailing list archive

[Question #205258]: Can you clarify the retentions setting restrictions in the docs?

 

New question #205258 on Graphite:
https://answers.launchpad.net/graphite/+question/205258

The docs (http://graphite.readthedocs.org/en/latest/whisper.html#archives-retention-and-precision) say:

To support accurate aggregation from higher to lower resolution archives, the number of points in a longer retention archive must be divisible by its next lower retention archive. For example, an archive with 1 data points every 60 seconds and retention of 120 points (2 hours worth of data) can have a lower-resolution archive following it with a resolution of 1 data point every 300 seconds for 1200 points, while the same resolution but for only 1000 points would be invalid since 1000 is not evenly divisible by 120.

So this is saying "1m:2h,5m:6000m" is valid, but "1m:2h,5m:5000m" is not valid?  I haven't dug into how whisper aggregation works, but this surprises me.  It doesn't seem like the number of data points should matter at all, but rather the resolution of the resolutions is what seems important to me.  That is, since 5 minutes is a multiple of 1 minute, whisper should be able to take 5 data points from the first archive and turn it into a single data point in the second archive, without loss of precision.  Why does the total number of data points matter?

Questions:
1. Are the docs wrong or am I missing something?
2. If "1m:2h,5m:5000m" is invalid, why doesn't carbon complain if I use it?  Is this a bug? (carbon-cache starts successfully and I don't see any errors in console.log)

Suggestion: It sure would be handy to have some example retentions policies to choose from.  I feel like this is probably an important / hard-to-change setting, but I don't have a good intuition about what a good policy might look like.

Thanks!
-Michael

-- 
You received this question notification because you are a member of
graphite-dev, which is an answer contact for Graphite.