module D = Libvirt.Domain
module N = Libvirt.Network
+let rcfile = ".virt-toprc"
+
(* Hook for XML support (see virt_top_xml.ml). *)
let parse_device_xml : (int -> [>`R] D.t -> string list * string list) ref =
ref (
| NoInitFile -> ()
| DefaultInitFile ->
let home = try Sys.getenv "HOME" with Not_found -> "/" in
- let filename = home // ".virt-toprc" in
+ let filename = home // rcfile in
try_to_read_init_file filename
| InitFile filename ->
try_to_read_init_file filename
[ "Hostname"; "Time"; "Arch"; "Physical CPUs";
"Count"; "Running"; "Blocked"; "Paused"; "Shutdown";
"Shutoff"; "Crashed"; "Active"; "Inactive";
- "%CPU"; "Total memory (KB)"; "Total guest memory (KB)";
+ "%CPU";
+ "Total hardware memory (KB)";
+ "Total memory (KB)"; "Total guest memory (KB)";
"Total CPU time (ns)" ] @
(* These fields are repeated for each domain: *)
[ "Domain ID"; "Domain name"; ] @
string_of_int paused; string_of_int shutdown; string_of_int shutoff;
string_of_int crashed; string_of_int active; string_of_int inactive;
sprintf "%2.1f" percent_cpu;
+ Int64.to_string node_info.C.memory;
Int64.to_string total_memory; Int64.to_string total_domU_memory;
Int64.to_string (Int64.of_float total_cpu_time)
] in
| NoInitFile -> () (* Do nothing if --no-init-file *)
| DefaultInitFile ->
let home = try Sys.getenv "HOME" with Not_found -> "/" in
- let filename = home // ".virt-toprc" in
+ let filename = home // rcfile in
_write_init_file filename
| InitFile filename ->
_write_init_file filename
let fp = fprintf in
let nl () = fp chan "\n" in
- let () = fp chan (f_ "# .virt-toprc virt-top configuration file\n") in
+ let () = fp chan (f_ "# %s virt-top configuration file\n") rcfile in
let () = fp chan (f_ "# generated on %s by %s\n") printable_date_time username in
nl ();
fp chan "display %s\n" (cli_of_display !display_mode);
if !batch_mode = true then fp chan "batch true\n";
if !secure_mode = true then fp chan "secure true\n";
nl ();
- let () = fp chan (f_ "# To send debug and error messages to a file, uncomment next line\n") in
+ output_string chan (s_ "# To send debug and error messages to a file, uncomment next line\n");
fp chan "#debug virt-top.out\n";
nl ();
- let () = fp chan (f_ "# Enable CSV output to the named file\n") in
+ output_string chan (s_ "# Enable CSV output to the named file\n");
fp chan "#csv virt-top.csv\n";
nl ();
- let () = fp chan (f_ "# To protect this file from being overwritten, uncomment next line\n") in
+ output_string chan (s_ "# To protect this file from being overwritten, uncomment next line\n");
fp chan "#overwrite-init-file false\n";
close_out chan;