[rrd-users] Re: Is there a workaround for multiple independent updates inside 1 sec?

rader at teak.wiscnet.net rader at teak.wiscnet.net
Thu Oct 21 22:55:50 MEST 1999

 > From: dave-mlist at bfnet.com
 > I have a script that walks an SNMP table and runs the following commands. 
 > It is updating different data sources within one second of each other, which
 > I think should be OK.  Is there any way around the ERROR lines I'm seeing?
 > Dave
 > [root at mon /root]# ./test
 > [...]
 > /usr/local/bin/rrdtool 'update' '/var/log/rrd/' '-
 > t' 'inEthernet0:outEthernet0' 'N:2227109981:2307995739'
 > /usr/local/bin/rrdtool 'update' '/var/log/rrd/' '-
 > t' 'inEthernet1:outEthernet1' 'N:0:1522'
 > ERROR: illegal attempt to update using time 940464865 when last update tim
 > e is 940464865 (minimum one second step)
 > [...]

Each RRD only has one notion of "last update" so doing multiple
updates at the same time does not "work right".

The following "asynchronous-DS update" also does not work "right":

 rrdtool update some.rrd -t input:output 937844400:2036007229:1286147890
 rrdtool update some.rrd -t input:output 937844700:2051557700:1290492794
 rrdtool update some.rrd -t input  937845000:2069078489
 rrdtool update some.rrd -t output 937845001:1294770454
 rrdtool update some.rrd -t input:output 937845300:2088835344:1298501078

The update of output at 937845001 gets "lost".

I claimed this was a "bug with multiple DS updates with the same time" 
(and "multi-DS RRDs that gets asynchronous-DS updates") on the 
rrd-developers list back about a month ago.  Tobi responded:

 >> I will certainly look carefully at a patch which adds this feature ... but
 >> there ar a number of fundamental roblems to solve in the process ... check
 >> out the database format to see how it is setup ... just imagine how to cross
 >> a primary time point when not all dses have been updated ...
 >> but don't thret ... for your loosly opled data I would sugest to use a
 >> separate rrd for each ds anyway ... this will prvide all the flexibility you
 >> want ...

My take on this comment is that RRDs must have "coupled" DSs where
"coupled" means that all the DSs for a given RRD must be updated
all at once.

This isn't really a big deal: just bundle the data collection of
all your counters into a single snmpget and do a one "rrdtool update" 
per snmpget.

- - -
systems guy

* To unsubscribe from the rrd-users mailing list, send a message with the
  subject: unsubscribe to rrd-users-request at list.ee.ethz.ch

More information about the rrd-users mailing list