[PATCH v2 3/4] qemu: Add support for VIR_DOMAIN_GUEST_INFO_LOAD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx>
---
 src/qemu/qemu_driver.c | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 80c918312b8f..3b8b2c0a1eda 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -19181,7 +19181,8 @@ static const unsigned int qemuDomainGetGuestInfoSupportedTypes =
     VIR_DOMAIN_GUEST_INFO_HOSTNAME |
     VIR_DOMAIN_GUEST_INFO_FILESYSTEM |
     VIR_DOMAIN_GUEST_INFO_DISKS |
-    VIR_DOMAIN_GUEST_INFO_INTERFACES;
+    VIR_DOMAIN_GUEST_INFO_INTERFACES |
+    VIR_DOMAIN_GUEST_INFO_LOAD;
 
 static int
 qemuDomainGetGuestInfoCheckSupport(unsigned int types,
@@ -19468,6 +19469,10 @@ qemuDomainGetGuestInfo(virDomainPtr dom,
     qemuAgentDiskInfo **agentdiskinfo = NULL;
     virDomainInterfacePtr *ifaces = NULL;
     size_t nifaces = 0;
+    double load1m = 0;
+    double load5m = 0;
+    double load15m = 0;
+    bool format_load = false;
     size_t i;
 
     virCheckFlags(0, -1);
@@ -19538,6 +19543,14 @@ qemuDomainGetGuestInfo(virDomainPtr dom,
             nifaces = rc;
     }
 
+    if (supportedTypes & VIR_DOMAIN_GUEST_INFO_LOAD) {
+        rc = qemuAgentGetLoadAvg(agent, &load1m, &load5m, &load15m, report_unsupported);
+        if (rc == -1)
+            goto exitagent;
+        if (rc >= 0)
+            format_load = true;
+    }
+
     qemuDomainObjExitAgent(vm, agent);
     virDomainObjEndAgentJob(vm);
 
@@ -19564,6 +19577,12 @@ qemuDomainGetGuestInfo(virDomainPtr dom,
         virDomainInterfaceFormatParams(ifaces, nifaces, params, nparams, &maxparams);
     }
 
+    if (format_load) {
+        virTypedParamsAddDouble(params, nparams, &maxparams, "load.1m", load1m);
+        virTypedParamsAddDouble(params, nparams, &maxparams, "load.5m", load5m);
+        virTypedParamsAddDouble(params, nparams, &maxparams, "load.15m", load15m);
+    }
+
     ret = 0;
 
  cleanup:
-- 
2.48.1




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux