X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=examples%2Fget_all_domain_stats.ml;h=68b7160adad194236d4f71bc99139f515796a2f2;hb=c338d3194fb5969c927ece7d4fd09569d54b203b;hp=43756393b2bfcbbce4886430516f9af2cdf3416e;hpb=380f1e05b244ae4750ca5101b5b5a182dcd0d1fd;p=ocaml-libvirt.git diff --git a/examples/get_all_domain_stats.ml b/examples/get_all_domain_stats.ml index 4375639..68b7160 100644 --- a/examples/get_all_domain_stats.ml +++ b/examples/get_all_domain_stats.ml @@ -8,10 +8,11 @@ open Printf module C = Libvirt.Connect module D = Libvirt.Domain -let print_stats stats = +let print_stats conn stats = try Array.iter ( - fun { D.dom = dom; D.params = params } -> + fun { D.dom_uuid = uuid; D.params = params } -> + let dom = D.lookup_by_uuid conn uuid in printf "domain %s:\n" (D.get_name dom); Array.iteri ( fun i (field, value) -> @@ -38,17 +39,24 @@ let () = exit 1 ); - let conn = C.connect_readonly () in + let conn = C.connect_auth_readonly (C.get_auth_default ()) in - let what_stats = [D.StatsCpuTotal; D.StatsInterface; D.StatsBlock] in - let flags = [D.GetAllDomainsStatsActive; D.GetAllDomainsStatsInactive] in + let what = [ + D.StatsState; + D.StatsCpuTotal; + D.StatsBalloon; + D.StatsVcpu; + D.StatsInterface; + D.StatsBlock; + ] in + let who = [] in (* empty list means returns all domains *) let quit = ref false in while not !quit do - let stats = D.get_all_domain_stats conn what_stats flags in + let stats = D.get_all_domain_stats conn what who in - if stats <> [||] then print_stats stats + if stats <> [||] then print_stats conn stats else ( printf "no guests found\n"; quit := true