|
@@ -1368,3 +1368,23 @@ char *qga_get_host_name(Error **errp)
|
|
|
|
|
|
return g_steal_pointer(&hostname);
|
|
|
}
|
|
|
+
|
|
|
+#ifdef CONFIG_GETLOADAVG
|
|
|
+GuestLoadAverage *qmp_guest_get_load(Error **errp)
|
|
|
+{
|
|
|
+ double loadavg[3];
|
|
|
+ GuestLoadAverage *ret = NULL;
|
|
|
+
|
|
|
+ if (getloadavg(loadavg, G_N_ELEMENTS(loadavg)) < 0) {
|
|
|
+ error_setg_errno(errp, errno,
|
|
|
+ "cannot query load average");
|
|
|
+ return NULL;
|
|
|
+ }
|
|
|
+
|
|
|
+ ret = g_new0(GuestLoadAverage, 1);
|
|
|
+ ret->load1m = loadavg[0];
|
|
|
+ ret->load5m = loadavg[1];
|
|
|
+ ret->load15m = loadavg[2];
|
|
|
+ return ret;
|
|
|
+}
|
|
|
+#endif
|