Grapherl is realtime scalable stats gathering daemon which can handle high amount of incoming data points (~1 million data points per minute per socket). It also provides a web dashboard that allows the users to visualize graphs for gathered stats.
Instead of that complicated minute/day/week/year data retention scheme, why not just randomly replace an entry in a fixed-size store? So the probability of a datum being in the store is inversely proportional to the log of its age.
And it's a one-liner.
I noticed the GitHub description for the repo says "ejabberd monitoring server." Can this be used for non-ejabberd monitoring? I assume the answer is yes given the rest of the documenation. Maybe you can update the description.