[rrd-users] Why doesn't my code work....rrdgraph doesn't show anything
Emily Chouinard
cousin17 at msu.edu
Tue Jun 17 20:26:27 CEST 2008
So I have a code that compiles and everything, seemingly updates but
when I display graph there's nothing graphed, the data is missing and I
don't know why.
import rrdtool
import os
import time
interval = 10
interval = str(interval)
interval_mins = float(interval) / 60
heartbeat = str(int(interval) * 2)
cur_date = time.strftime('%m/%d/%Y %H\:%M\:%S', time.localtime())
rrdtool.create('usr.rrd',
'DS:usr_info:COUNTER:%s:U:U' % heartbeat,
'RRA:AVERAGE:0.5:1:%s' % int(4000 / interval_mins),
'RRA:AVERAGE:0.5:%d:800' % int(30 / interval_mins),
'RRA:AVERAGE:0.5:%d:800' % int(120 / interval_mins),
'RRA:AVERAGE:0.5:%d:800' % int(1440 / interval_mins))
rrdtool.create('sys.rrd',
'DS:sys_info:COUNTER:%s:U:U' % heartbeat,
'RRA:AVERAGE:0.5:1:%s' % int(4000 / interval_mins),
'RRA:AVERAGE:0.5:%d:800' % int(30 / interval_mins),
'RRA:AVERAGE:0.5:%d:800' % int(120 / interval_mins),
'RRA:AVERAGE:0.5:%d:800' % int(1440 / interval_mins))
rrdtool.create('idle.rrd',
'DS:idle_info:COUNTER:%s:U:U' % heartbeat,
'RRA:AVERAGE:0.5:1:%s' % int(4000 / interval_mins),
'RRA:AVERAGE:0.5:%d:800' % int(30 / interval_mins),
'RRA:AVERAGE:0.5:%d:800' % int(120 / interval_mins),
'RRA:AVERAGE:0.5:%d:800' % int(1440 / interval_mins))
while True:
infile= open('/proc/stat', 'r') #for x in range(0,1): #Reads
first line only
line = infile.readline()
if line.startswith('cpu'): #Check to make sure in 1st line
info = line.split() #Returns a list of the words in the string
usr_info = info[1] #Index the three aspects of CPU Usuage
sys_info = info[3]
idle_info = info[4] #str() because Python needs to have a string
print usr_info, sys_info, idle_info #Print out so you can see
what's happening
rrdtool.update('idle.rrd','N:112431249')
rrdtool.update('sys.rrd','N:108704')
rrdtool.update('usr.rrd','N:259845')
rrdtool.graph('example.png',
'DEF:usr_info=usr.rrd:usr_info:AVERAGE', #Defines all
three aspects of the /proc/stat file
'AREA:usr_info#0000FF:"User CPU usuage"',
'DEF:sys_info=sys.rrd:sys_info:AVERAGE:step=800',
'AREA:sys_info#00FF00:"System CPU usuage":STACK',
'DEF:idle_info=idle.rrd:idle_info:AVERAGE:step=800',
#Different Labels for each of the three ascp
'AREA:idle_info#FF0000:"Idle CPU usuage":STACK',
'--start','now-%s'%(30*60),
'--end','now',
'--width','500',
'--height','250',
'--base', '1000',
'--vertical-label','CPU Usuage',
'--title', 'EXAMPLE',
'COMMENT:' + cur_date + '')
time.sleep(10)
More information about the rrd-users
mailing list