v0.1 Doesnt quite work
[rrdaggregate.git] / rrdaggregate.py
1 #!/usr/bin/python
2
3 import yaml
4 import argparse
5 import os
6 from aggmgr import AggManager
7
8 expressions="""
9 (node\d+.princeton.vicci.org)/cpu-\d/.*
10 """
11
12 def main():
13         parser = argparse.ArgumentParser()
14         parser.add_argument('-datadir',help='Directory location of your rrd files',default='/usr/var/lib/collectd/rrd')
15         parser.add_argument('-rrdopts',help='Option string passed verbatim to rrdtool',default='--start now-1h --end now --json')
16         parser.add_argument('program',help='Program in YAML that specifies the required aggregation.')
17         values = parser.parse_args()
18
19         aggp = AggManager(values.program)
20         aggp.match_on_directory(values.datadir)
21         aggp.gen_defs()
22
23         options = {'verbatim':values.rrdopts, 'defs':' '.join(aggp.defs), 'cdefs':' '.join(aggp.cdefs), 'xports':' '.join(aggp.xports)}
24         #print "Defs = %s\nCDefs=%s\nXports=%s"%(aggp.defs,aggp.cdefs,aggp.xports)
25         os.chdir(values.datadir)
26         cmdline = """
27         rrdtool xport %(verbatim)s %(defs)s %(cdefs)s %(xports)s
28         """%options
29         os.system(cmdline)
30         #print cmdline
31         
32
33
34 if __name__=='__main__':
35         main ()