![]() ![]() |
xenstats |
Subversion Repositories: |
Compare with Previous - Blame - Download
#!/usr/bin/pythonimport sysimport osimport globimport timeif len(sys.argv)!=2:print "Syntax: %s <rrdbasename>"%sys.argv[0]sys.exit(1)colors=["000000", "FF0000", "00FF00", "0000FF" ]colors+=["DEDE00", "00FFFF", "FF90FF", "FF8040", "C040A0", "A0A0A0", "40A0A0", "40A0FF", "FFA040" ]def graph(basename, subname, seconds):rrds=glob.glob(basename+"*.rrd")rrds=[x for x in rrds if os.stat(x)[8] > (time.time()-seconds)]cmdline="--imgformat PNG --unit % --vertical-label 'Xen CPU%'"cmdline+="' %s' "%(subname)#cmdline="--imgformat PNG --unit % --vertical-label CPU% --rigid --lower-limit 0 --upper-limit 100 "for rrd,id in zip(rrds,range(len(rrds))):cmdline+="DEF:id%draw=%s:cpu:LAST "%(id,rrd)cmdline+="CDEF:id%dpercent=id%draw,10,/ "%(id,id)cmdline+="CDEF:id%dzero=id%dpercent,DUP,UN,EXC,0,EXC,IF "%(id,id)for rrd,id in zip(rrds,range(len(rrds))):cmdline+="%s:id%dzero#%s:%s "%({0:"AREA"}.get(id,"STACK"),id,colors[id%len(colors)],rrd[len(basename):-4])cmdline+="GPRINT:id%dpercent:AVERAGE:\"%s\" "%(id,"Average CPU usage\: %02.0lf%%\\j")# print cmdlineos.system("rrdtool graph %s../graph/xen-%s.png --start -%d --end -69 %s"%(basename,subname,seconds,cmdline))basename=sys.argv[1]graph(basename, "hourly", 4000)graph(basename, "6hours", 24000)graph(basename, "daily", 100000)graph(basename, "weekly", 800000)graph(basename, "monthly", 3200000)graph(basename, "yearly", 40000000)