Added display of virtual cpus

This commit is contained in:
berrange@roquette.boston.redhat.com 2006-07-12 17:05:44 -04:00
parent b31fba6c93
commit f4aa6fe3d2
4 changed files with 57 additions and 10 deletions

View File

@ -51,7 +51,7 @@
<signal name="activate" handler="on_menu_file_new_activate" last_modification_time="Tue, 28 Mar 2006 17:06:34 GMT"/>
<child internal-child="image">
<widget class="GtkImage" id="image24">
<widget class="GtkImage" id="image36">
<property name="visible">True</property>
<property name="stock">gtk-new</property>
<property name="icon_size">1</property>
@ -78,7 +78,7 @@
<signal name="activate" handler="on_menu_file_open_connection_activate" last_modification_time="Mon, 12 Jun 2006 20:34:47 GMT"/>
<child internal-child="image">
<widget class="GtkImage" id="image25">
<widget class="GtkImage" id="image37">
<property name="visible">True</property>
<property name="stock">gtk-connect</property>
<property name="icon_size">1</property>
@ -136,7 +136,7 @@
<signal name="activate" handler="on_menu_edit_details_activate" last_modification_time="Tue, 28 Mar 2006 17:06:34 GMT"/>
<child internal-child="image">
<widget class="GtkImage" id="image26">
<widget class="GtkImage" id="image38">
<property name="visible">True</property>
<property name="stock">gtk-properties</property>
<property name="icon_size">1</property>
@ -157,7 +157,7 @@
<signal name="activate" handler="on_menu_edit_delete_activate" last_modification_time="Tue, 28 Mar 2006 17:06:34 GMT"/>
<child internal-child="image">
<widget class="GtkImage" id="image27">
<widget class="GtkImage" id="image39">
<property name="visible">True</property>
<property name="stock">gtk-delete</property>
<property name="icon_size">1</property>
@ -218,6 +218,16 @@
</widget>
</child>
<child>
<widget class="GtkCheckMenuItem" id="menu_view_virtual_cpus">
<property name="visible">True</property>
<property name="label" translatable="yes">Virtual CPUs</property>
<property name="use_underline">True</property>
<property name="active">False</property>
<signal name="activate" handler="on_menu_view_virtual_cpus_activate" last_modification_time="Wed, 12 Jul 2006 20:33:23 GMT"/>
</widget>
</child>
<child>
<widget class="GtkCheckMenuItem" id="menu_view_memory_usage">
<property name="visible">True</property>

View File

@ -63,6 +63,9 @@ class vmmConfig:
def is_vmlist_cpu_usage_visible(self):
return self.conf.get_bool(self.conf_dir + "/vmlist-fields/cpu_usage")
def is_vmlist_virtual_cpus_visible(self):
return self.conf.get_bool(self.conf_dir + "/vmlist-fields/virtual_cpus")
def is_vmlist_memory_usage_visible(self):
return self.conf.get_bool(self.conf_dir + "/vmlist-fields/memory_usage")
@ -80,6 +83,9 @@ class vmmConfig:
def set_vmlist_cpu_usage_visible(self, state):
self.conf.set_bool(self.conf_dir + "/vmlist-fields/cpu_usage", state)
def set_vmlist_virtual_cpus_visible(self, state):
self.conf.set_bool(self.conf_dir + "/vmlist-fields/virtual_cpus", state)
def set_vmlist_memory_usage_visible(self, state):
self.conf.set_bool(self.conf_dir + "/vmlist-fields/memory_usage", state)
@ -97,6 +103,9 @@ class vmmConfig:
def on_vmlist_cpu_usage_visible_changed(self, callback):
self.conf.notify_add(self.conf_dir + "/vmlist-fields/cpu_usage", callback)
def on_vmlist_virtual_cpus_visible_changed(self, callback):
self.conf.notify_add(self.conf_dir + "/vmlist-fields/virtual_cpus", callback)
def on_vmlist_memory_usage_visible_changed(self, callback):
self.conf.notify_add(self.conf_dir + "/vmlist-fields/memory_usage", callback)

View File

@ -111,6 +111,7 @@ class vmmDomain(gobject.GObject):
"cpuTimePercent": pcentCpuTime,
"currMem": info[2],
"currMemPercent": pcentCurrMem,
"vcpuCount": info[3],
"maxMem": info[1],
"maxMemPercent": pcentMaxMem,
}
@ -178,6 +179,11 @@ class vmmDomain(gobject.GObject):
def disk_usage_percentage(self):
return 1
def vcpu_count(self):
if len(self.record) == 0:
return 0
return self.record[0]["vcpuCount"]
def cpu_time_vector(self):
vector = []
stats = self.record

View File

@ -54,16 +54,19 @@ class vmmManager(gobject.GObject):
self.config.on_vmlist_status_visible_changed(self.toggle_status_visible_widget)
self.config.on_vmlist_cpu_usage_visible_changed(self.toggle_cpu_usage_visible_widget)
self.config.on_vmlist_virtual_cpus_visible_changed(self.toggle_virtual_cpus_visible_widget)
self.config.on_vmlist_memory_usage_visible_changed(self.toggle_memory_usage_visible_widget)
self.config.on_vmlist_disk_usage_visible_changed(self.toggle_disk_usage_visible_widget)
self.config.on_vmlist_network_traffic_visible_changed(self.toggle_network_traffic_visible_widget)
self.window.get_widget("menu_view_status").set_active(self.config.is_vmlist_status_visible())
self.window.get_widget("menu_view_cpu_usage").set_active(self.config.is_vmlist_cpu_usage_visible())
self.window.get_widget("menu_view_virtual_cpus").set_active(self.config.is_vmlist_virtual_cpus_visible())
self.window.get_widget("menu_view_memory_usage").set_active(self.config.is_vmlist_memory_usage_visible())
self.window.get_widget("menu_view_disk_usage").set_active(self.config.is_vmlist_disk_usage_visible())
self.window.get_widget("menu_view_network_traffic").set_active(self.config.is_vmlist_network_traffic_visible())
self.window.get_widget("menu_file_new").set_sensitive(False)
self.window.get_widget("vm-new").set_sensitive(False)
self.window.get_widget("vm-view").set_sensitive(False)
@ -88,6 +91,7 @@ class vmmManager(gobject.GObject):
self.window.signal_autoconnect({
"on_menu_view_status_activate" : self.toggle_status_visible_conf,
"on_menu_view_cpu_usage_activate" : self.toggle_cpu_usage_visible_conf,
"on_menu_view_virtual_cpus_activate" : self.toggle_virtual_cpus_visible_conf,
"on_menu_view_memory_usage_activate" : self.toggle_memory_usage_visible_conf,
"on_menu_view_disk_usage_activate" : self.toggle_disk_usage_visible_conf,
"on_menu_view_network_traffic_activate" : self.toggle_network_traffic_visible_conf,
@ -226,6 +230,7 @@ class vmmManager(gobject.GObject):
nameCol = gtk.TreeViewColumn("Name")
statusCol = gtk.TreeViewColumn("Status")
cpuUsageCol = gtk.TreeViewColumn("CPU usage")
virtualCPUsCol = gtk.TreeViewColumn("VCPUs")
memoryUsageCol = gtk.TreeViewColumn("Memory usage")
diskUsageCol = gtk.TreeViewColumn("Disk usage")
networkTrafficCol = gtk.TreeViewColumn("Network traffic")
@ -238,6 +243,7 @@ class vmmManager(gobject.GObject):
vmlist.append_column(nameCol)
vmlist.append_column(statusCol)
vmlist.append_column(cpuUsageCol)
vmlist.append_column(virtualCPUsCol)
vmlist.append_column(memoryUsageCol)
vmlist.append_column(diskUsageCol)
vmlist.append_column(networkTrafficCol)
@ -250,9 +256,6 @@ class vmmManager(gobject.GObject):
statusCol.set_cell_data_func(status_icon, self.status_icon, None)
statusCol.set_visible(self.config.is_vmlist_status_visible())
cpuUsage_txt = gtk.CellRendererText()
#cpuUsage_img = gtk.CellRendererProgress()
cpuUsage_img = sparkline.CellRendererSparkline()
@ -263,6 +266,11 @@ class vmmManager(gobject.GObject):
cpuUsageCol.set_visible(self.config.is_vmlist_cpu_usage_visible())
cpuUsageCol.set_sort_column_id(VMLIST_SORT_CPU_USAGE)
virtualCPUs_txt = gtk.CellRendererText()
virtualCPUsCol.pack_start(virtualCPUs_txt, False)
virtualCPUsCol.set_cell_data_func(virtualCPUs_txt, self.virtual_cpus_text, None)
virtualCPUsCol.set_visible(self.config.is_vmlist_virtual_cpus_visible())
memoryUsage_txt = gtk.CellRendererText()
memoryUsage_img = gtk.CellRendererProgress()
memoryUsageCol.pack_start(memoryUsage_txt, False)
@ -332,13 +340,22 @@ class vmmManager(gobject.GObject):
col = vmlist.get_column(2)
col.set_visible(self.config.is_vmlist_cpu_usage_visible())
def toggle_virtual_cpus_visible_conf(self, menu):
self.config.set_vmlist_virtual_cpus_visible(menu.get_active())
def toggle_virtual_cpus_visible_widget(self, ignore1, ignore2, ignore3, ignore4):
menu = self.window.get_widget("menu_view_virtual_cpus")
vmlist = self.window.get_widget("vm-list")
col = vmlist.get_column(3)
col.set_visible(self.config.is_vmlist_virtual_cpus_visible())
def toggle_memory_usage_visible_conf(self, menu):
self.config.set_vmlist_memory_usage_visible(menu.get_active())
def toggle_memory_usage_visible_widget(self, ignore1, ignore2, ignore3, ignore4):
menu = self.window.get_widget("menu_view_memory_usage")
vmlist = self.window.get_widget("vm-list")
col = vmlist.get_column(3)
col = vmlist.get_column(4)
col.set_visible(self.config.is_vmlist_memory_usage_visible())
def toggle_disk_usage_visible_conf(self, menu):
@ -347,7 +364,7 @@ class vmmManager(gobject.GObject):
def toggle_disk_usage_visible_widget(self, ignore1, ignore2, ignore3, ignore4):
menu = self.window.get_widget("menu_view_disk_usage")
vmlist = self.window.get_widget("vm-list")
col = vmlist.get_column(4)
col = vmlist.get_column(5)
col.set_visible(self.config.is_vmlist_disk_usage_visible())
def toggle_network_traffic_visible_conf(self, menu):
@ -356,7 +373,7 @@ class vmmManager(gobject.GObject):
def toggle_network_traffic_visible_widget(self, ignore1, ignore2, ignore3, ignore4):
menu = self.window.get_widget("menu_view_network_traffic")
vmlist = self.window.get_widget("vm-list")
col = vmlist.get_column(5)
col = vmlist.get_column(6)
col.set_visible(self.config.is_vmlist_network_traffic_visible())
@ -380,6 +397,11 @@ class vmmManager(gobject.GObject):
data.reverse()
cell.set_property('data_array', data)
def virtual_cpus_text(self, column, cell, model, iter, data):
uuid = model.get_value(iter, 0)
cell.set_property('text', str(self.connection.get_vm(uuid).vcpu_count()))
def memory_usage_text(self, column, cell, model, iter, data):
uuid = model.get_value(iter, 0)
current = self.connection.get_vm(uuid).current_memory()