Initial import

This commit is contained in:
Anton Beloglazov 2012-07-03 15:30:55 +10:00
commit 734727be4b
2 changed files with 55 additions and 0 deletions

0
neat/__init__.py Normal file
View File

55
neat/cpu_utilization.py Executable file
View File

@ -0,0 +1,55 @@
#! /usr/bin/env python2
# -*- coding: utf-8 -*-
import libvirt
import sys
import time
def getNumberOfPhysicalCpus(connection):
return connection.getInfo()[2]
def getDomainTotalCpuTime(domain):
return domain.getCPUStats(True, 0)[0]['cpu_time']
def getCpuUtilization(domain, numberOfPhysicalCpus):
prevTime = time.time()
prevCpuTime = getDomainTotalCpuTime(domain)
time.sleep(1)
currTime = time.time()
currCpuTime = getDomainTotalCpuTime(domain)
print "Prev time: " + str(prevTime)
print "Prev cpu time: " + str(prevCpuTime)
print "Curr time: " + str(currTime)
print "Curr cpu time: " + str(currCpuTime)
print "CPU utilization: "
print ((currCpuTime - prevCpuTime) / ((currTime - prevTime) * 1000000000 * numberOfPhysicalCpus))
conn = libvirt.openReadOnly(None)
if conn is None:
print 'Failed to open connection to the hypervisor'
sys.exit(1)
try:
dom0 = conn.lookupByName("cirros")
except:
print 'Failed to find the main domain'
sys.exit(1)
numberOfPhysicalCpus = getNumberOfPhysicalCpus(conn)
print "Host CPUs: " + str(numberOfPhysicalCpus)
getCpuUtilization(dom0, numberOfPhysicalCpus)
#print "Domain 0: id %d running %s" % (dom0.ID(), dom0.OSType())
#print dom0.info()
#print dom0.getCPUStats(1, 0)
#print dom0.vcpus()
#print dom0.vcpuPinInfo(0)
#print conn.getCPUStats(1, 0)