import sys
import Queue
from optparse import OptionParser
import Gnuplot
sys.path.insert(0, "../")
from pynorm.extra.pipeparser import PipeParser
USAGE = 'usage: %s [options]' % sys.argv[0]
DEFAULT_PIPE = 'normtest'
def get_option_parser():
parser = OptionParser(usage=USAGE)
parser.set_defaults(pipe=DEFAULT_PIPE)
parser.add_option('-p', '--pipe',
help='The pipe to connect to (default %s)' % DEFAULT_PIPE)
return parser
def main(argv):
(opts, args) = get_option_parser().parse_args(argv)
if len(args) != 1:
print(USAGE)
return 1
pipep = PipeParser(opts.pipe)
pipep.start()
g = Gnuplot.Gnuplot()
g('set data style lines')
g.title('FEC Buffer Usage')
g.xlabel('Time (s)')
g.ylabel('FEC Usage')
ydata = []
while True:
try:
report = pipep.reports.get(False)
except Queue.Empty:
continue
try:
ydata.append(report['remote'][0]['fec_cur'])
g.plot(list(enumerate(ydata)))
except IndexError:
continue
pipep.reports.task_done()
print("Exiting...")
return 0
if __name__ == '__main__':
sys.exit(main(sys.argv))