diff options
author | Cole Robinson <crobinso@redhat.com> | 2014-02-11 15:29:30 -0500 |
---|---|---|
committer | Cole Robinson <crobinso@redhat.com> | 2014-02-11 15:45:05 -0500 |
commit | d220cc5d524eb34e8b32a8143c849d08a72ef731 (patch) | |
tree | 60d3bb64509eabfc8919018d1f8d759667b7786d /virtManager/domain.py | |
parent | a70b836b2d6bdd92bf50143e045c120b918919f2 (diff) | |
download | virt-manager-d220cc5d524eb34e8b32a8143c849d08a72ef731.tar.gz |
preferences: Allow disabling VM CPU poll
With this, the only libvirt API call we hit on each tick is the
connection nodeinfo.
Diffstat (limited to 'virtManager/domain.py')
-rw-r--r-- | virtManager/domain.py | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/virtManager/domain.py b/virtManager/domain.py index 93afe1fe..ae14109a 100644 --- a/virtManager/domain.py +++ b/virtManager/domain.py @@ -261,6 +261,7 @@ class vmmDomain(vmmLibvirtObject): self.mem_stats_supported = False self._enable_mem_stats = False + self._enable_cpu_stats = False self._enable_net_poll = False self._stats_net_supported = True @@ -303,19 +304,23 @@ class vmmDomain(vmmLibvirtObject): self.toggle_sample_network_traffic() self.toggle_sample_disk_io() self.toggle_sample_mem_stats() + self.toggle_sample_cpu_stats() self.force_update_status(from_event=True) # Hook up listeners that need to be cleaned up self.add_gconf_handle( + self.config.on_stats_enable_cpu_poll_changed( + self.toggle_sample_cpu_stats)) + self.add_gconf_handle( self.config.on_stats_enable_net_poll_changed( - self.toggle_sample_network_traffic)) + self.toggle_sample_network_traffic)) self.add_gconf_handle( self.config.on_stats_enable_disk_poll_changed( - self.toggle_sample_disk_io)) + self.toggle_sample_disk_io)) self.add_gconf_handle( self.config.on_stats_enable_memory_poll_changed( - self.toggle_sample_mem_stats)) + self.toggle_sample_mem_stats)) self.connect("status-changed", self._update_start_vcpus) self.connect("pre-startup", self._prestartup_nodedev_check) @@ -1422,6 +1427,9 @@ class vmmDomain(vmmLibvirtObject): ################# def _sample_cpu_stats(self, info, now): + if not self._enable_cpu_stats: + return 0, 0, 0, 0 + prevCpuTime = 0 prevTimestamp = 0 cpuTime = 0 @@ -1523,6 +1531,9 @@ class vmmDomain(vmmLibvirtObject): def toggle_sample_mem_stats(self, ignore=None): self._enable_mem_stats = self.config.get_stats_enable_memory_poll() + def toggle_sample_cpu_stats(self, ignore=None): + self._enable_cpu_stats = self.config.get_stats_enable_cpu_poll() + ################### # Stats accessors # @@ -1838,7 +1849,9 @@ class vmmDomain(vmmLibvirtObject): if not self._using_events(): self._invalidate_xml() - info = self._backend.info() + info = [] + if not self._using_events() or self._enable_cpu_stats: + info = self._backend.info() if stats_update: self._tick_stats(info) |