X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/xvm-munin-config.git/blobdiff_plain/8b02ed79e41e7753c9ffaa800f570809ba598540..HEAD:/host/usr/share/xvm-munin-host-config/plugins/xen_cpu diff --git a/host/usr/share/xvm-munin-host-config/plugins/xen_cpu b/host/usr/share/xvm-munin-host-config/plugins/xen_cpu index 755c476..06850cf 100755 --- a/host/usr/share/xvm-munin-host-config/plugins/xen_cpu +++ b/host/usr/share/xvm-munin-host-config/plugins/xen_cpu @@ -3,9 +3,14 @@ from xen.xm.main import SERVER_LEGACY_XMLRPC, SERVER_XEN_API, parseServer, parseAuthentication from xen.xend import sxp import atexit +import sys serverType, serverURI = parseServer() +if serverType != SERVER_LEGACY_XMLRPC: + print >>sys.stderr, "xen_cpu is untested with this Xen server type" + sys.exit(1) + if serverType == SERVER_XEN_API: from xen.xm import XenAPI server = XenAPI.Session(serverURI) @@ -21,8 +26,6 @@ else: from xen.util.xmlrpcclient import ServerProxy server = ServerProxy(serverURI) -import sys - if len(sys.argv) > 1: cmd = sys.argv[1] else: @@ -34,12 +37,12 @@ def getDomains(): domains = server.xenapi.VM.get_all_records() metrics = server.xenapi.VM_metrics.get_all_records() for d in domains.values(): - ret[d['uuid'].replace('-', '_')] = {'name': d['name_label'], - 'cpu_time': sum(metrics[d['metrics']]['VCPUs_utilisation'].values()), - 'domid': d['domid'], - 'uuid': d['uuid'], - # No equivalent - } + ret['uuid_'+d['uuid'].replace('-', '_')] = {'name': d['name_label'], + 'cpu_time': sum(metrics[d['metrics']]['VCPUs_utilisation'].values()), + 'domid': d['domid'], + 'uuid': d['uuid'], + # No equivalent + } return ret else: domains = server.xend.domains_with_state(True, 'all', True) @@ -54,7 +57,7 @@ def getDomains(): data['sched-credit'] = sched except: data['sched-credit'] = None - ret[sxp.child_value(d, 'uuid', 'NONE').replace('-', '_')] = data + ret['uuid_'+sxp.child_value(d, 'uuid', 'NONE').replace('-', '_')] = data return ret if cmd == 'config':