One of the common issues when dealing with rrdtool is the following example:
- Assume you're reading integer values from your target system, e.g. the number of mails seen by your spam filter
- you're feeding them to rrdtool while using the standard 300 sec polling interval
- when creating graphs, you notice that there are no integers shown
Please take into account, that rrdtool automatically normalizes your data to an exact 300 sec interval. Even when polling every 300 sec. you will notice that measuremeants are off by some seconds from time to time.
Now let's turn back to the spam filter example. Let's assume that you receive exactly 2 mails each second. Sometimes the measurement interval spans exactly 300 sec yielding a mail count of 600. But in case the measurement interval spans only 299 seconds, the mail count will be only 598. And if the timespan is 301 sconds, the mail count should be 602.
RRDTool accounts for this and will “adjust” the value for a timespan of 300 sec. To be more specific, it even adjusts the polling intervals at exact 300 sec boundaries. In my personal tech tongue I call this “time normalization” of rrdtool.
The attached image (courtesy engeishi) shows how it works: