On Fri, 24 Jun 2011 12:10:41 Aurelien ROUGEMONT wrote: > Hi everyone, > > I'm working for a registrar. We use intensively isc-bind, and since a > few month collectd's bind plugin. > > We were experiencing a very specific behavior from this plugin only. The > datetime returned was shifted. After some diggin', i figured what was > the problem : the current code was not handling timesavings. > > the bind plugin works like this : > * query to xmlrpc bind webservice > * process data : bind statistics and datetime > * returns processed data > > Since it's the only plugin returning a datetime not using timesavings i > read [1] and wrote a quick fix that : > > 1- substracts the constant timezone to the "about to be returned datetime" > 2- adds to the result timezone and timesaving ( with *localtime() ) > 3- returns the result instead of the UTC datetime + timezone > > I've been using this patch without a glitch ( in production ) for 2 > months now. Our bind statistics are now respecting the collectd's > general behavior. > > Please find attached to this email the patch. > > Hoping this will help, > > Aurélien > > [1] http://www.gnu.org/s/hello/manual/libc/Time-Zone-Functions.html
The more simple/safe solution should be to revert timegm() -> mktime() change done in http://git.verplant.org/?p=collectd.git;a=commitdiff;h=1641c82ec4e14968ea31021dfb8b520df5f4483a In your patch you refer to a "timezone" variable, where does that one come from? In addition, localtime() and friends depend on process-global timezone setting which is rather bad in a multithreaded process such as collectd! Bruno _______________________________________________ collectd mailing list [email protected] http://mailman.verplant.org/listinfo/collectd
