I noticed a problem in my RRDs. I several RRD files, running RRDtool 1.2.19 in Solaris 10:
I use: * GAUGE RRDs * 300sec step * RRA with 1 PDP/ROW for AVERAGE * RRA with 1 PDP/ROW for MAX * RRA with 6 PDP/ROW for AVERAGE * RRA with 6 PDP/ROW for MAX (the info of the RRD is listed below) I always update the values using "rounded times" (times that are multiple of 300). However, some consecutive values of my rra[3] (MAX - 6 values) appeared exactly the same value (and I thought it was very odd). I did the "rrdtool fetch", I did all the maths, and realized that this wasn't doing what I supposed it should be! AVERAGE uses the last 6 values for the calculation but MAX uses the last 7 values for the calculation Ex: AVERAGE (6 values) rra[1](1268674200) = AVERAGE ( rra[0](1268672700), rra[0](1268673000), rra[0](1268673300), rra[0](1268673600), rra[0](1268673900), rra[0](1268674200) ) rra[1](1268676000) = AVERAGE ( rra[0](1268674500), rra[0](1268674800), rra[0](1268675100), rra[0](1268675400), rra[0](1268675700), rra[0](1268676000) ) MAX (7 values) rra[3](1268674200) = MAX ( rra[2](1268672400), rra[2](1268672700), rra[2](1268673000), rra[2](1268673300), rra[2](1268673600), rra[2](1268673900), rra[2](1268674200) ) rra[3](1268676000) = AVERAGE ( rra[2](1268674200), rra[2](1268674500), rra[2](1268674800), rra[2](1268675100), rra[2](1268675400), rra[2](1268675700), rra[2](1268676000) ) Now my questions is: Is this a Bug, or a feature? If it is a feature it's very strange, because whenever I get a high value in a rounded time (multiple of 300) that value will become the MAX of the 2 consecutive groups in the RRA that consolidates 6 values. How is this helpful? I hope I could make myself clear. If not, I can send a XLS file with my calculations, so that you can see this systematic error. Thanks in advance to anyone that can answer me. Rui Meireles # rrdtool info TOTAL.rrd filename = "TOTAL.rrd" rrd_version = "0003" step = 300 last_update = 1268853900 ds[in].type = "GAUGE" ds[in].minimal_heartbeat = 600 ds[in].min = 0.0000000000e+00 ds[in].max = 5.0000000000e+11 ds[in].last_ds = "307502466.241261" ds[in].value = 0.0000000000e+00 ds[in].unknown_sec = 0 ds[out].type = "GAUGE" ds[out].minimal_heartbeat = 600 ds[out].min = 0.0000000000e+00 ds[out].max = 5.0000000000e+11 ds[out].last_ds = "8028989485.28258" ds[out].value = 0.0000000000e+00 ds[out].unknown_sec = 0 rra[0].cf = "AVERAGE" rra[0].rows = 600 rra[0].pdp_per_row = 1 rra[0].xff = 5.0000000000e-01 rra[0].cdp_prep[0].value = NaN rra[0].cdp_prep[0].unknown_datapoints = 0 rra[0].cdp_prep[1].value = NaN rra[0].cdp_prep[1].unknown_datapoints = 0 rra[1].cf = "AVERAGE" rra[1].rows = 700 rra[1].pdp_per_row = 6 rra[1].xff = 5.0000000000e-01 rra[1].cdp_prep[0].value = 1.5398389100e+09 rra[1].cdp_prep[0].unknown_datapoints = 0 rra[1].cdp_prep[1].value = 5.2927918671e+10 rra[1].cdp_prep[1].unknown_datapoints = 0 rra[2].cf = "MAX" rra[2].rows = 600 rra[2].pdp_per_row = 1 rra[2].xff = 5.0000000000e-01 rra[2].cdp_prep[0].value = NaN rra[2].cdp_prep[0].unknown_datapoints = 0 rra[2].cdp_prep[1].value = NaN rra[2].cdp_prep[1].unknown_datapoints = 0 rra[3].cf = "MAX" rra[3].rows = 700 rra[3].pdp_per_row = 6 rra[3].xff = 5.0000000000e-01 rra[3].cdp_prep[0].value = 3.1016264837e+08 rra[3].cdp_prep[0].unknown_datapoints = 0 rra[3].cdp_prep[1].value = 1.2197452159e+10 rra[3].cdp_prep[1].unknown_datapoints = 0
_______________________________________________ rrd-users mailing list [email protected] https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
