In AWMS versions 6.4 and prior:
First of all, there are two series, Maximum and Average. These show up as lines. RRDs store and display data with density that varies over time. A 2-hour graph has data points closer together than a 2-year graph. In fact, these data points are closer together than customer poll periods. So for the ultra-short-term, the Maximum and Average series are the same.
For longer periods of time, you will have more than one poll period per display point, and will need to decide how you want to combine them. The 'Average' data series takes the average, and the 'Maximum' data series takes the maximum. Therefore if you have rather uneven load on your wireless network, your Average spikes will tend to smooth themselves out as they go back in time, while the Maximum should stay as tall as ever.
We also display legend items, telling you the maximum and average of each data series. This could make sense: for instance, a measure of "maximum average daily bandwidth" (what was my worst day like?) is a valuable measure, as is the "average maximum daily bandwidth" (what's a typical 'peak bandwidth' measure for any given day?). However, in practice, this does not actually make sense because you're not given any transparency into, or control over, exactly what the consolidation period is (it could be daily, weekly, hourly, 4-hour, 2-hour, etc).
In AWMS 7.0+:
The bandwidth and user graphs are now as accurate as the source data (which is a function of polling period and the firmware code of the devices we poll). We store full-resolution data (one data point for every 5-minute “bucket”), but some consolidation can still occur if you try to graph fewer data points than the high resolution data has over the same time period (eg. if you want a graph with 300 data points for a 30 day period, that spans 103,680 “buckets” that are each 5 minutes wide. So 103,680 values must be turned into 300 values. This process is called consolidation*. The main source of inaccuracy when using RRDTool was that it did consolidation BEFORE aggregation when dealing with multiple RRD files. With AWRRDTool, we store full-resolution data and consolidation is done AFTER aggregation when dealing with multiple files. That’s a fundamental difference and was the primary driver for moving from RRDTool to AWRRDTool.
*Aggregation and Consolidation
You retrieve data from AWRRD using xport (or possibly using dump, but you can only dump one file at a time and there's no consolidation available). As you can see below, you can pass xport multiple AWRRD filenames. Here's how xport works internally:
1. Storage (an array of doubles) is allocated for the number of full-resolution "bins" defined by the start time, end time, and the AWRRD files' bin_width.
2. For each specified AWRRD file, its values are added to the proper "bin"
3. If --no-points was specified, aggregate values are computed from the full-resolution aggregated data and returned (note: the max-of-averages will always be equal to average-of-averages and the max-of-maxes will always be equal to the max-of-averages because no consolidation was done).
4. Assuming --no-points was not specified, awrrdtool applies consolidation:
A. Calculate the number of points to be output: MIN(requested_count, aggregation_bin_count)
B. Allocate storage for the output data points
C. Consolidate 1 or more aggregated bin values into each output data point (this is where you have a chance of having a different "average" and "max" value for a time). The average of the high-resolution values is stored as the data point's "average value" and the highest value of the high-resolution values is stored as the data point's "max value".
5. Calculate aggregate values across the consolidated data points. The "max of maxes" aggregate value is the highest value of each point's "max value". Likewise, the "average of averages" is the sum of each point's "average value" divided by the number of points. Similarly for "average of maxes" and "max of averages".
6. The consolidated data points and the computed aggregate values for them are returned.