terom@143: #!/usr/bin/env python terom@143: terom@143: """ terom@143: pvl.rrd graph output terom@143: """ terom@143: terom@143: __version__ = '0.1' terom@143: terom@143: import pvl.args terom@156: import pvl.rrd.args terom@143: import pvl.rrd.graph terom@143: terom@143: import os.path terom@143: terom@143: import logging, optparse terom@143: terom@143: log = logging.getLogger('main') terom@143: terom@143: def parse_options (argv) : terom@143: """ terom@143: Parse command-line arguments. terom@143: """ terom@143: terom@143: prog = argv[0] terom@143: terom@143: parser = optparse.OptionParser( terom@143: prog = prog, terom@143: usage = '%prog: [options]', terom@143: version = __version__, terom@143: terom@143: # module docstring terom@143: description = __doc__, terom@143: ) terom@143: terom@143: # options terom@143: parser.add_option_group(pvl.args.parser(parser)) terom@156: parser.add_option_group(pvl.rrd.args.parser(parser)) terom@143: terom@143: parser.add_option('--style', metavar='STYLE', default='detail', terom@143: help="overview/detail") terom@156: terom@143: parser.add_option('--interval', metavar='INTERVAL', default='daily', terom@143: help="daily/weekly/yearly") terom@143: terom@143: # parse terom@143: options, args = parser.parse_args(argv[1:]) terom@143: terom@143: # apply terom@143: pvl.args.apply(options, prog) terom@143: terom@143: return options, args terom@143: terom@156: def graph (options, rrds, rrd) : terom@143: """ terom@143: Graph given rrd. terom@143: """ terom@143: terom@156: terom@143: # out terom@143: path, ext = os.path.splitext(rrd) terom@143: ext = options.graph terom@143: out = path + ext terom@143: terom@143: # graph terom@143: log.info("%s -> %s", rrd, out) terom@143: terom@143: pvl.rrd.graph.collectd_ifoctets(options.style, options.interval, "Test", rrd, out) terom@143: terom@143: def main (argv) : terom@143: """ terom@143: Usage: [options] rrd terom@143: """ terom@143: terom@143: options, args = parse_options(argv) terom@156: terom@156: # RRDDatabase terom@156: rrds = pvl.rrd.args.apply(options) terom@143: terom@143: for rrd in args : terom@156: graph(options, rrds, rrd) terom@143: terom@143: # done terom@143: log.info("Exiting...") terom@143: return 0 terom@143: terom@143: if __name__ == '__main__': terom@143: import sys terom@143: terom@143: sys.exit(main(sys.argv))