From: Alastair Tse Date: Wed, 24 Jan 2007 15:50:58 +0000 (+0000) Subject: [XEND] Cleanup old domains in statistics monitor. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15371^2~68 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=64444f844e6894f6d1a764542ce9f9d0e06a48be;p=xen.git [XEND] Cleanup old domains in statistics monitor. Signed-off-by: Alastair Tse --- diff --git a/tools/python/xen/xend/XendMonitor.py b/tools/python/xen/xend/XendMonitor.py index 134cca4365..855cff216c 100644 --- a/tools/python/xen/xend/XendMonitor.py +++ b/tools/python/xen/xend/XendMonitor.py @@ -220,10 +220,11 @@ class XendMonitor(threading.Thread): while True: self.lock.acquire() try: - + active_domids = set() # Calculate utilisation for VCPUs for domid, cputimes in self._get_cpu_stats().items(): + active_domids.add(domid) if domid not in self._domain_vcpus: # if not initialised, save current stats # and skip utilisation calculation @@ -310,6 +311,19 @@ class XendMonitor(threading.Thread): self.pifs_util[pifid] = (rx_util, tx_util) self.pifs[pifid] = stats + for domid in self.domain_vcpus_util.keys(): + if domid not in active_domids: + del self.domain_vcpus_util[domid] + del self.domain_vcpus[domid] + for domid in self.domain_vifs_util.keys(): + if domid not in active_domids: + del self.domain_vifs_util[domid] + del self.domain_vifs[domid] + for domid in self.domain_vbds_util.keys(): + if domid not in active_domids: + del self.domain_vbds_util[domid] + del self.domain_vbds[domid] + finally: self.lock.release()