[rrd-users] Strange fetch behaviour (even stranger in the python bindings)
Dimitris Karteris
dkart at inaccessnetworks.com
Mon Feb 4 19:51:40 CET 2008
Hi to all,
I'm having some problems with fetch. It just doesn't seem to get things
right as far as "start" and "end" arguments are concerned. I'm kinda
newbie in rrdtool so I hope I'm not missing something here. Anyway, here
goes: I'm trying to fetch some values from an rrd file with step set to
1. Here's what I get for the 1201849690 to 1201849693 time series:
$ rrdtool fetch lights_corridor.rrd LAST \
-s 1201849690 -e 1201849693
main
1201849691: 0.0000000000e+00
1201849692: 0.0000000000e+00
1201849693: 0.0000000000e+00
1201849694: 0.0000000000e+00
It seems that rrdtool adds a second to both "start" and "end", so I get
values for the 1201849691 to 1201849694 time series. anyway, using fetch
from the Python bindings I get even more weird results:
>>> rrdtool.fetch("lights_corridor.rrd", "LAST", 1201849690,1201849693)
((1201849690, 1201849694, 1), ('main',), [(0.0,), (0.0,), (0.0,),
(0.0,), (-9.5644785903411794e-40,)])
^^^^^^^^^^^^^^^^^^^^^^^^^^
This last value seems to have come from nowhere:
$ rrdtool fetch lights_corridor.rrd LAST \
-s 1201849690 -e 1201849696
main
1201849691: 0.0000000000e+00
1201849692: 0.0000000000e+00
1201849693: 0.0000000000e+00
1201849694: 0.0000000000e+00
1201849695: 1.0000000000e+00
1201849696: nan
1201849697: nan
And the dump tool says: ::
<!-- Round Robin Database Dump --><rrd> <version> 0003 </version>
<step> 1 </step> <!-- Seconds -->
<lastupdate> 1201849695 </lastupdate> <!-- 2008-02-01 09:08:15
EET -->
<ds>
<name> main </name>
<type> GAUGE </type>
<minimal_heartbeat> 86400 </minimal_heartbeat>
<min> 0.0000000000e+00 </min>
<max> 1.0000000000e+00 </max>
<!-- PDP Status -->
<last_ds> UNKN </last_ds>
<value> 0.0000000000e+00 </value>
<unknown_sec> 0 </unknown_sec>
</ds>
<!-- Round Robin Archives -->
[...]
<cf> LAST </cf>
<pdp_per_row> 1 </pdp_per_row> <!-- 1 seconds -->
<params>
<xff> 5.0000000000e-01 </xff>
</params>
<cdp_prep>
<ds>
<primary_value> 1.0000000000e+00 </primary_value>
<secondary_value> 0.0000000000e+00
</secondary_value>
<value> NaN </value>
<unknown_datapoints> 0 </unknown_datapoints>
</ds>
</cdp_prep>
<database>
<!-- 2008-01-25 09:08:16 EET / 1201244896 -->
<row><v> NaN </v></row>
<!-- 2008-01-25 09:08:17 EET / 1201244897 -->
<row><v> NaN </v></row>
[...]
<!-- 2008-02-01 09:08:10 EET / 1201849690 -->
<row><v> 0.0000000000e+00 </v></row>
<!-- 2008-02-01 09:08:11 EET / 1201849691 -->
<row><v> 0.0000000000e+00 </v></row>
<!-- 2008-02-01 09:08:12 EET / 1201849692 -->
<row><v> 0.0000000000e+00 </v></row>
<!-- 2008-02-01 09:08:13 EET / 1201849693 -->
<row><v> 0.0000000000e+00 </v></row>
<!-- 2008-02-01 09:08:14 EET / 1201849694 -->
<row><v> 0.0000000000e+00 </v></row>
<!-- 2008-02-01 09:08:15 EET / 1201849695 -->
<row><v> 1.0000000000e+00 </v></row>
</database>
</rra>
</rrd>
I've made my test with both versions 1.2.19 (default in Ubuntu gutsy)
and 1.2.26 having the same exact results. Can anybody please shed some
light here? Is this a bug or am I getting something completely wrong?
Thank you in advance,
~dkart
More information about the rrd-users
mailing list