From 2ff0819e857219d0a41f74422248631191636324 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Wed, 26 Oct 2011 01:38:56 +0000 Subject: Individual graph files, for inclusion in pdflatex documents. This is an experiment, we might need to go the epstopdf route, but this way we get color for free, so it's worth a try. svn path=/trunk/; revision=4064 --- scripts/analyze-rcynic-history.py | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) (limited to 'scripts') diff --git a/scripts/analyze-rcynic-history.py b/scripts/analyze-rcynic-history.py index c4182db7..0a31237b 100644 --- a/scripts/analyze-rcynic-history.py +++ b/scripts/analyze-rcynic-history.py @@ -23,6 +23,8 @@ show_summary = True show_sessions = True show_plot = True plot_all_hosts = False +plot_to_one = True +plot_to_many = True import mailbox, sys, urlparse, os, getopt, datetime, subprocess @@ -243,18 +245,36 @@ def plotter(f, hostnames, field, logscale = False): f.write("%s %s\n" % (plotline[0], plotline[i].rstrip("%"))) f.write("e\n") +def plot_many(hostnames, fields): + for field in fields: + for logscale in (False, True): + gnuplot = subprocess.Popen(("gnuplot",), stdin = subprocess.PIPE) + gnuplot.stdin.write("set terminal pdf\n") + gnuplot.stdin.write("set output '%s-%s.pdf'\n" % (field, "log" if logscale else "linear")) + plotter(gnuplot.stdin, hostnames, field, logscale = logscale) + gnuplot.stdin.close() + gnuplot.wait() + +def plot_one(hostnames, fields): + gnuplot = subprocess.Popen(("gnuplot",), stdin = subprocess.PIPE) + gnuplot.stdin.write("set terminal pdf\n") + gnuplot.stdin.write("set output 'analyze-rcynic-history.pdf'\n") + for field in fields: + if field not in ("scaled_elapsed", "hostname"): + plotter(gnuplot.stdin, hostnames, field, logscale = False) + plotter(gnuplot.stdin, hostnames, field, logscale = True) + gnuplot.stdin.close() + gnuplot.wait() + if show_plot: if plot_all_hosts: - hostnames = tuple(sorted(summary.hostnames)) + hostnames = sorted(summary.hostnames) else: hostnames = ("rpki.apnic.net", "rpki.ripe.net", "repository.lacnic.net", "rpki.afrinic.net", "arin.rpki.net", "rgnet.rpki.net", "rpki.surfnet.nl", "rpki.antd.nist.gov") - gnuplot = subprocess.Popen(("gnuplot",), stdin = subprocess.PIPE) - gnuplot.stdin.write("set terminal pdf; set output 'analyze-rcynic-history.pdf'\n") - for fmt in Host.format: - if fmt.attr not in ("scaled_elapsed", "hostname"): - plotter(gnuplot.stdin, hostnames, fmt.attr, logscale = False) - plotter(gnuplot.stdin, hostnames, fmt.attr, logscale = True) - gnuplot.stdin.close() - gnuplot.wait() + fields = [fmt.attr for fmt in Host.format if fmt.attr not in ("scaled_elapsed", "hostname")] + if plot_to_one: + plot_one(hostnames, fields) + if plot_to_many: + plot_many(hostnames, fields) -- cgit v1.2.3