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