[rrd-users] rrdupdate time problem
oleg at vsi.ru
Tue Aug 14 13:18:59 CEST 2007
I am developing NMS with ability to store variables (interface counters, temperature, environment, etc) in RRD. Due to heavy load
(hundreds of thousands values stored in RRD per minute) I use some sort of buffering - counters from hardware with timestamps
temporary stored in memory queues and periodically entire queue that relates to given RRD file stored into this file by separate
thread using single command like that:
::Rrd::update file_path --template In:Out 1187065338:12345:6789 1187065358:123456:67890 ...
But sometimes such updates fails with error like that:
RRD Error: illegal attempt to update using time 1187065338 when last update time is 1187065682 (minimum one second step)
This error occures with different RRD files with different structures. I added debugging output regarding this problem, and this
debug shows that before this error was no attempt to update this RRD file using timestamp 1187065682 at all, and failed command also
does not contain argument with this timestamp.
How this can happen ? Any ideas ? I have only one idea - sometimes RRD file's last update time is time of real update, and not the
latest timestamp from rrdupdate's data arguments, and if previous update happened later than the first counter value appears in
memory queue, than such error will encounter on the next update.
Oleg Derevenetz <oleg at vsi.ru> OOD3-RIPE
Phone: +7 4732 539880
Fax: +7 4732 531415 http://www.vsi.ru
CenterTelecom Voronezh ISP http://isp.vsi.ru
More information about the rrd-users