summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>2011-02-16 05:08:13 +0900
committerRichard W.M. Jones <rjones@redhat.com>2011-03-07 17:58:33 +0000
commit756b7b3faccdab8234b9f11126b147121532a24c (patch)
treedf1598411a6d6e8ac42a9e4f1bca3ee3a9e32005
parentd92e7ec5a211909b4424de75a3a8efe0d070dab0 (diff)
downloadvirt-top-756b7b3faccdab8234b9f11126b147121532a24c.tar.gz
virt-top-756b7b3faccdab8234b9f11126b147121532a24c.tar.xz
virt-top-756b7b3faccdab8234b9f11126b147121532a24c.zip
Record memory statistics information to 'rd' object.
This helps to share the calculation (between modes) and will help to show memory statistics in --csv mode Signged-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
-rw-r--r--virt-top/virt_top.ml18
1 files changed, 11 insertions, 7 deletions
diff --git a/virt-top/virt_top.ml b/virt-top/virt_top.ml
index 5030165..3c6f47d 100644
--- a/virt-top/virt_top.ml
+++ b/virt-top/virt_top.ml
@@ -402,6 +402,8 @@ and rd_active = {
(* The following are since the last slice, or 0 if cannot be calculated: *)
rd_cpu_time : float; (* CPU time used in nanoseconds. *)
rd_percent_cpu : float; (* CPU time as percent of total. *)
+ rd_mem_bytes : int64; (* Memory usage in bytes *)
+ rd_mem_percent: int64; (* Memory usage as percent of total *)
(* The following are since the last slice, or None if cannot be calc'd: *)
rd_block_rd_reqs : int64 option; (* Number of block device read rqs. *)
rd_block_wr_reqs : int64 option; (* Number of block device write rqs. *)
@@ -510,6 +512,7 @@ let collect, clear_pcpu_display_data =
rd_prev_block_stats = prev_block_stats;
rd_prev_interface_stats = prev_interface_stats;
rd_cpu_time = 0.; rd_percent_cpu = 0.;
+ rd_mem_bytes = 0L; rd_mem_percent = 0L;
rd_block_rd_reqs = None; rd_block_wr_reqs = None;
rd_block_rd_bytes = None; rd_block_wr_bytes = None;
rd_block_rd_info = None; rd_block_wr_info = None;
@@ -544,9 +547,14 @@ let collect, clear_pcpu_display_data =
let cpu_time =
Int64.to_float (rd.rd_info.D.cpu_time -^ prev_info.D.cpu_time) in
let percent_cpu = 100. *. cpu_time /. total_cpu in
+ let mem_usage = rd.rd_info.D.memory in
+ let mem_percent =
+ 100L *^ rd.rd_info.D.memory /^ node_info.C.memory in
let rd = { rd with
rd_cpu_time = cpu_time;
- rd_percent_cpu = percent_cpu } in
+ rd_percent_cpu = percent_cpu;
+ rd_mem_bytes = mem_usage;
+ rd_mem_percent = mem_percent} in
name, Active rd
(* For all other domains we can't calculate it, so leave as 0 *)
| rd -> rd
@@ -892,9 +900,7 @@ let redraw =
let rx_bytes = Show.int64_option rd.rd_net_rx_bytes in
let tx_bytes = Show.int64_option rd.rd_net_tx_bytes in
let percent_cpu = Show.percent rd.rd_percent_cpu in
- let percent_mem =
- 100L *^ rd.rd_info.D.memory /^ node_info.C.memory in
- let percent_mem = Int64.to_float percent_mem in
+ let percent_mem = Int64.to_float rd.rd_mem_percent in
let percent_mem = Show.percent percent_mem in
let time = Show.time rd.rd_info.D.cpu_time in
@@ -1344,9 +1350,7 @@ let dump_stdout
let tx_bytes = if rd.rd_net_tx_bytes = None then " 0"
else Show.int64_option rd.rd_net_tx_bytes in
let percent_cpu = Show.percent rd.rd_percent_cpu in
- let percent_mem =
- 100L *^ rd.rd_info.D.memory /^ node_info.C.memory in
- let percent_mem = Int64.to_float percent_mem in
+ let percent_mem = Int64.to_float rd.rd_mem_percent in
let percent_mem = Show.percent percent_mem in
let time = Show.time rd.rd_info.D.cpu_time in
printf "%5d %c %s %s %s %s %s %s %s %s\n"