Vinzenz Feenstra has uploaded a new change for review.

Change subject: agent: Report swap usage of the guests
......................................................................

agent: Report swap usage of the guests

Change-Id: I09f1c0dbbe12eee352637c97a4fa23835d14307a
Bug-Url: https://bugzilla.redhat.com/1025845
Signed-off-by: Vinzenz Feenstra <vfeen...@redhat.com>
---
M ovirt-guest-agent/GuestAgentLinux2.py
M ovirt-guest-agent/GuestAgentWin32.py
2 files changed, 21 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-guest-agent 
refs/changes/48/20848/1

diff --git a/ovirt-guest-agent/GuestAgentLinux2.py 
b/ovirt-guest-agent/GuestAgentLinux2.py
index a60e7a5..dfb15e2 100644
--- a/ovirt-guest-agent/GuestAgentLinux2.py
+++ b/ovirt-guest-agent/GuestAgentLinux2.py
@@ -284,7 +284,7 @@
 
     def _get_meminfo(self):
         fields = {'MemTotal:': 0, 'MemFree:': 0, 'Buffers:': 0,
-                  'Cached:': 0}
+                  'Cached:': 0, 'SwapFree:': 0, 'SwapTotal:': 0}
         free = 0
         for line in open('/proc/meminfo'):
             (key, value) = line.strip().split()[0:2]
@@ -292,9 +292,12 @@
                 fields[key] = int(value)
             if key in ('MemFree:', 'Buffers:', 'Cached:'):
                 free += int(value)
+
         self.memStats['mem_total'] = fields['MemTotal:']
         self.memStats['mem_unused'] = fields['MemFree:']
         self.memStats['mem_free'] = free
+        swap_used = fields['SwapTotal:'] - fields['SwapFree:']
+        self.memStats['swap_usage'] = swap_used
 
     def _get_vmstat(self):
         """
diff --git a/ovirt-guest-agent/GuestAgentWin32.py 
b/ovirt-guest-agent/GuestAgentWin32.py
index d59ac75..168dbdc 100644
--- a/ovirt-guest-agent/GuestAgentWin32.py
+++ b/ovirt-guest-agent/GuestAgentWin32.py
@@ -420,6 +420,23 @@
             logging.exception("Error retrieving disks usages.")
         return usages
 
+    def _getSwapStats(self):
+        try:
+            strComputer = "."
+            objWMIService = \
+                win32com.client.Dispatch("WbemScripting.SWbemLocator")
+            objSWbemServices = \
+                objWMIService.ConnectServer(strComputer, "root\cimv2")
+            colItems = \
+                objSWbemServices.ExecQuery(
+                    "SELECT * FROM Win32_PageFileUsage")
+            for objItem in colItems:
+                # Keep the unit consistent with Linux guests (KiB)
+                self.memStats['swap_usage'] = objItem.CurrentUsage * 1024
+        except Exception:
+            logging.exception("Failed to retrieve page file stats")
+            pass
+
     def getMemoryStats(self):
         pi = get_perf_info()
         # keep the unit consistent with Linux guests


-- 
To view, visit http://gerrit.ovirt.org/20848
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I09f1c0dbbe12eee352637c97a4fa23835d14307a
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-guest-agent
Gerrit-Branch: master
Gerrit-Owner: Vinzenz Feenstra <vfeen...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to