summaryrefslogtreecommitdiffstats
path: root/chrome/browser/memory_details.cc
diff options
context:
space:
mode:
authordavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-18 19:13:15 +0000
committerdavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-18 19:13:15 +0000
commit48e303447c9f5f11e8012523310bab75882d1fec (patch)
tree116ed03d554bfeb720a0d59ef01a3f705dbf23cd /chrome/browser/memory_details.cc
parent26ebfbef6ed2e9800a0784104bb675e232dd571c (diff)
downloadchromium_src-48e303447c9f5f11e8012523310bab75882d1fec.zip
chromium_src-48e303447c9f5f11e8012523310bab75882d1fec.tar.gz
chromium_src-48e303447c9f5f11e8012523310bab75882d1fec.tar.bz2
Add system swap metrics.
BUG=260484 TEST=None R=jam@chromium.org, jar@chromium.org Review URL: https://codereview.chromium.org/19572011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212389 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/memory_details.cc')
-rw-r--r--chrome/browser/memory_details.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/chrome/browser/memory_details.cc b/chrome/browser/memory_details.cc
index ef07356..1dad6f9 100644
--- a/chrome/browser/memory_details.cc
+++ b/chrome/browser/memory_details.cc
@@ -497,6 +497,12 @@ void MemoryDetails::UpdateHistograms() {
#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 @@ void MemoryDetails::UpdateSwapHistograms() {
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