#!/usr/bin/python
-
+import sys
+sys.path.append('/usr/lib/xen-default/lib/python/')
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)
from xen.util.xmlrpcclient import ServerProxy
server = ServerProxy(serverURI)
-import sys
-
if len(sys.argv) > 1:
cmd = sys.argv[1]
else:
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)
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':