[virt-tools-list] [PATCH 1/2] virt-top: record memory stats in rd object
KAMEZAWA Hiroyuki
kamezawa.hiroyu at jp.fujitsu.com
Tue Feb 15 20:08:13 UTC 2011
These 2 patches are for showing memory statistics in --csv mode.
Patches are made against virt-top git tree.
==
>From 898362f8c4f498a448ba17d63476f98f38aa56b6 Mon Sep 17 00:00:00 2001
From: KAMEZAWA Hiroyuki <kamezawa at bluextal.(none)>
Date: Wed, 16 Feb 2011 04:36:10 +0900
Subject: [PATCH 1/2] Record memory statistics information to 'rd' object.
This helps to share the calculation (betwee mode) and
will help to show memory statistics in --csv mode
Signged-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
---
virt-top/virt_top.ml | 18 +++++++++++-------
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"
--
1.7.1
More information about the virt-tools-list
mailing list