From: Stephen Soltesz Date: Thu, 21 Jan 2010 20:22:14 +0000 (+0000) Subject: add more info to sliceavg X-Git-Tag: Monitor-3.0-31~11 X-Git-Url: http://git.onelab.eu/?p=monitor.git;a=commitdiff_plain;h=5be5c58892c3c859d0a9d8c5d984f0c1d5d60c27 add more info to sliceavg parserpms does a better job of sorting and converting entries with multiple versions --- diff --git a/statistics/harvest_rt.py b/statistics/harvest_rt.py index f3940e0..b9af3e8 100755 --- a/statistics/harvest_rt.py +++ b/statistics/harvest_rt.py @@ -4,6 +4,7 @@ import os import time from datetime import datetime, timedelta import sys +from monitor.common import Time def popen(cmdstr): f = os.popen(cmdstr) @@ -31,14 +32,14 @@ def main(): i = 0 while i < iterations: d1_s = d1.strftime("%Y-%m-%d") - d2 = d1 + timedelta(30) + d2 = d1 + timedelta(1) d2_s = d2.strftime("%Y-%m-%d") query = "Queue='%s' and " % queue query = query + "Told > '%s' and Told < '%s'" % (d1_s, d2_s) cmd = """rt ls -t ticket "%s" | grep -v "No matching" | wc -l """ % query - print cmd + #print cmd ret = popen(cmd) - print d1_s, ",", ret[:-1] + print "%s,%s,%s" % (d1_s, Time.dt_to_ts(d1), ret[:-1]) d1=d2 i += 1 diff --git a/statistics/parserpms.py b/statistics/parserpms.py index 54183c0..ef885e8 100755 --- a/statistics/parserpms.py +++ b/statistics/parserpms.py @@ -41,7 +41,7 @@ def main(): parser.add_option("", "--input", dest="input", help="the input file") - parser.add_option("", "--pattern", dest="select", + parser.add_option("", "--select", dest="select", help="the pattern to pull out from rpm list") parser.add_option("", "--frequency", dest="frequency", action="store_true", help="print the frequency of packages matched by select") @@ -55,7 +55,7 @@ def main(): rpmlist = fileutil.getListFromFile(config.input) - current_packages = ['NodeManager-1.8-5.planetlab', + current_packages_old = ['NodeManager-1.8-5.planetlab', 'NodeUpdate-0.5-4.planetlab', 'codemux-0.1-13.planetlab', 'fprobe-ulog-1.1.3-0.planetlab', 'ipod-2.2-1.planetlab', 'iproute-2.6.16-2.planetlab', 'iptables-1.3.8-9.planetlab', @@ -69,12 +69,25 @@ def main(): 'vserver-systemslices-planetlab-f8-i386-4.2-12.2009.05.27', 'vsys-0.9-3.planetlab', 'vsys-scripts-0.95-3.planetlab'] + current_packages = ['NodeManager-1.8-12.planetlab.1', + 'NodeUpdate-0.5-4.planetlab', 'codemux-0.1-13.planetlab', + 'fprobe-ulog-1.1.3-0.planetlab', 'ipod-2.2-1.planetlab', + 'iproute-2.6.16-2.planetlab', 'iptables-1.3.8-9.planetlab', + 'kernel-2.6.22.19-vs2.3.0.34.39.planetlab', + 'madwifi-0.9.4-2.6.22.19.3.planetlab', 'monitor-client-3.0-17.planetlab', + 'monitor-runlevelagent-3.0-17.planetlab', 'pl_mom-2.3-1.planetlab', + 'pl_sshd-1.0-11.planetlab', 'pyplnet-4.3-3.planetlab', + 'util-vserver-pl-0.3-17.planetlab', + 'vserver-planetlab-f8-i386-4.2-12.2009.06.23', + 'vserver-systemslices-planetlab-f8-i386-4.2-12.2009.06.23', + 'vsys-0.9-3.planetlab', 'vsys-scripts-0.95-11.planetlab'] + # PL RPMS if config.package: all_patterns = map(lambda x: ".*" + x + ".*", [ 'NodeManager', 'NodeUpdate', 'codemux', 'fprobe', 'ipod', 'iproute', 'iptables', 'kernel', 'madwifi', 'monitor-client', - 'monitor-runlevelagent', 'monitor', 'oombailout', 'pl_mom', + 'monitor-runlevelagent', 'oombailout', 'pl_mom', 'pl_sshd', 'pyplnet', 'util-vserver-pl', 'vserver-planetlab-f8-i386', 'vserver-systemslices-planetlab-f8-i386', 'vsys-scripts', 'vsys']) else: @@ -82,11 +95,12 @@ def main(): for pattern in all_patterns: return_sums = {} + print "%s --------------------" % pattern for line in rpmlist: line = line.strip() - fields = line.split() - host = fields[1] - rpms = fields[2:] + fields = line.split(",") + host = fields[0] + rpms = fields[2].split() rpms.sort() rpms = pick_some_rpms(pattern, rpms) if len(rpms) != 0: @@ -107,11 +121,15 @@ def main(): sum_list.sort(lambda a,b: cmp(b[0], a[0])) for sum in sum_list: - #print sum[0], sum[1], map(lambda x: x.replace('.planetlab', ''), return_sums[sum[1]]['diff']) - print sum[0], sum[1], len(map(lambda x: x.replace('.planetlab', ''), return_sums[sum[1]]['diff'])) + print sum[0], sum[1] + #if len(return_sums[sum[1]]['hosts']) < 5: + # print sum[0], sum[1], map(lambda x: x.replace('.planetlab', ''), return_sums[sum[1]]['diff']) #, return_sums[sum[1]]['hosts'] + #else: + # print sum[0], sum[1], map(lambda x: x.replace('.planetlab', ''), return_sums[sum[1]]['diff']) + #print sum[0], sum[1], len(map(lambda x: x.replace('.planetlab', ''), return_sums[sum[1]]['diff'])) if __name__ == "__main__": - try: - main() - except IOError: - pass + try: + main() + except IOError: + pass diff --git a/statistics/sliceavg.py b/statistics/sliceavg.py index 739814f..012ba6b 100755 --- a/statistics/sliceavg.py +++ b/statistics/sliceavg.py @@ -5,6 +5,8 @@ import sys from monitor.wrapper import plc +from monitor.database.info.model import * + api = plc.cacheapi api.AuthCheck() @@ -18,28 +20,29 @@ for site in api.GetSites({'peer_id': None}): sliver_cnt = 0 for slice in sl: sliver_cnt += len(slice['node_ids']) - val = (site['login_base'], sliver_cnt) + val = (site['login_base'], sliver_cnt, site['max_slices']) site_list.append(val) #print val -print "------------------------------------------" site_list.sort(lambda x,y: cmp(y[1], x[1])) totals = 0 use_count = 0 +print "loginbase,status,sliver_count,max_slices" for i in site_list: if i[1] != 0: - print "%10s %s" % i + h = HistorySiteRecord.get_by(loginbase=i[0]) + print "%10s,%s,%s,%s" % (i[0],h.status, i[1], i[2]) use_count += 1 totals += i[1] site_avg = totals/len(site_list) -print "high: %s %s" % site_list[0] -print "low: %s %s" % site_list[-1] -print "median: %s %s" % site_list[len(site_list)/2] -print "used median: %s %s" % site_list[use_count/2] -print "all avg: %s" % site_avg -print "used avg: %s" % (totals/use_count) -print "totals: %s" % totals -print "use_count: %s" % use_count -print "site_count: %s" % len(site_list) +#print "high: %s %s" % site_list[0] +#print "low: %s %s" % site_list[-1] +#print "median: %s %s" % site_list[len(site_list)/2] +#print "used median: %s %s" % site_list[use_count/2] +#print "all avg: %s" % site_avg +#print "used avg: %s" % (totals/use_count) +#print "totals: %s" % totals +#print "use_count: %s" % use_count +#print "site_count: %s" % len(site_list)