Add system swap metrics.
BUG=260484
TEST=None
[email protected], [email protected]
Review URL: https://codereview.chromium.org/19572011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212389 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/memory_details.cc b/chrome/browser/memory_details.cc
index ef07356e..1dad6f9 100644
--- a/chrome/browser/memory_details.cc
+++ b/chrome/browser/memory_details.cc
@@ -497,6 +497,12 @@
#if defined(OS_CHROMEOS)
void MemoryDetails::UpdateSwapHistograms() {
+ UMA_HISTOGRAM_BOOLEAN("Memory.Swap.HaveSwapped", swap_data_.num_writes > 0);
+ if (swap_data_.num_writes == 0)
+ return;
+
+ // Only record swap info when any swaps have happened, to give us more
+ // detail in the histograms.
const ProcessData& browser = *ChromeBrowser();
size_t aggregate_memory = 0;
for (size_t index = 0; index < browser.processes.size(); index++) {
@@ -563,6 +569,25 @@
int total_sample = static_cast<int>(aggregate_memory / 1000);
UMA_HISTOGRAM_MEMORY_MB("Memory.Swap.Total", total_sample);
+
+ UMA_HISTOGRAM_CUSTOM_COUNTS("Memory.Swap.CompressedDataSize",
+ swap_data_.compr_data_size / (1024 * 1024),
+ 1, 4096, 50);
+ UMA_HISTOGRAM_CUSTOM_COUNTS("Memory.Swap.OriginalDataSize",
+ swap_data_.orig_data_size / (1024 * 1024),
+ 1, 4096, 50);
+ UMA_HISTOGRAM_CUSTOM_COUNTS("Memory.Swap.MemUsedTotal",
+ swap_data_.mem_used_total / (1024 * 1024),
+ 1, 4096, 50);
+ UMA_HISTOGRAM_COUNTS("Memory.Swap.NumReads", swap_data_.num_reads);
+ UMA_HISTOGRAM_COUNTS("Memory.Swap.NumWrites", swap_data_.num_writes);
+
+ if (swap_data_.orig_data_size > 0 && swap_data_.compr_data_size > 0) {
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Memory.Swap.CompressionRatio",
+ swap_data_.orig_data_size / swap_data_.compr_data_size,
+ 1, 20, 20);
+ }
}
#endif