picar / pyrrd

Automatically exported from code.google.com/p/pyrrd
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

update methods does not support N (as Now) for a time value #50

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Why it matters? 

http://oss.oetiker.ch/rrdtool/doc/rrdupdate.en.html

rrdtool update demo1.rrd N:3.44:3.15:U:23

How to fix it: 
1) for py2 on linux beware of monotonic time like 

https://github.com/jul/dsat/blob/master/dsat/linux_mtime.py

2) 

diff -u 
/home/jul/src/control2_prod/py2/lib/python2.7/site-packages/pyrrd/rrd.py 
/home/jul/src/dsat/py2/lib/python2.7/site-packages/pyrrd/rrd.py
--- 
/home/jul/src/control2_prod/py2/lib/python2.7/site-packages/pyrrd/rrd.py    2014-06
-11 17:24:54.000000000 -0400
+++ /home/jul/src/dsat/py2/lib/python2.7/site-packages/pyrrd/rrd.py 2015-01-19 
14:44:31.545840352 -0500
@@ -1,5 +1,6 @@
 import re
 from datetime import datetime
+from time import time

 from pyrrd import mapper
 from pyrrd import util
@@ -163,8 +164,7 @@
         """
         values = ':'.join([unicode(x) for x in values])
         self.values.append((timeOrData, values))
-        self.lastupdate = float(unicode(timeOrData).split(":")[0])
-
+        self.lastupdate = timeOrData.startswith("N") and time() or 
float(timeOrData.split(":")[0])
     # for backwards compatibility
     bufferValues = bufferValue

Original issue reported on code.google.com by jta...@gmail.com on 19 Jan 2015 at 7:48