Ok, this is a bit complicated, not set in stone, subject to change, etc.
We store both the raw values for your trend and a set of averaged values to let us display things quickly. We try and keep it to around 700 points per series/data point on the trend displayed at a time to keep things snappy.
The averaged data sets take up 32 bytes per sample: 8 bytes of timestamp, 8 byte averaged value, and the minimum and maximum values seen during the averaged timespan. (We don’t currently offer a way to display these, unfortunately.) They’re built on a set of pre-determined, regular intervals, stuff like every 2 seconds, 5s, 10s, 15s, 30s, 1 minute, 5m, etc. The set chosen depends on how long your chart is and what refresh rate you’ve chosen, but in the worst case they’ll double the storage size of your trend.
We have tools in the pipeline planned to help you see how much space is being used and manage it (and probably configured data logging that isn’t tied to a chart), but they aren’t ready yet.