[go: up one dir, main page]

Add UMA for available memory when a renderer hangs

(cherry picked from commit c83e90371d9acce84204d7319a2f15d8a7001388)

Bug: 934317
Change-Id: I495d6dd94ede0d56a3619245d2b3866eb03ac718
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1652430
Commit-Queue: Clark DuVall <cduvall@chromium.org>
Commit-Queue: Steven Holte <holte@chromium.org>
Auto-Submit: Clark DuVall <cduvall@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#667826}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1655972
Reviewed-by: Clark DuVall <cduvall@chromium.org>
Cr-Commit-Position: refs/branch-heads/3809@{#252}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
diff --git a/components/metrics/stability_metrics_helper.cc b/components/metrics/stability_metrics_helper.cc
index fbbb316..5e4499d 100644
--- a/components/metrics/stability_metrics_helper.cc
+++ b/components/metrics/stability_metrics_helper.cc
@@ -12,6 +12,7 @@
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/metrics/user_metrics.h"
+#include "base/system/sys_info.h"
 #include "build/build_config.h"
 #include "build/buildflag.h"
 #include "components/metrics/metrics_pref_names.h"
@@ -335,6 +336,9 @@
       app_state == base::android::APPLICATION_STATE_HAS_PAUSED_ACTIVITIES;
   UMA_HISTOGRAM_BOOLEAN("ChildProcess.HungRendererInForeground", is_foreground);
 #endif
+  UMA_HISTOGRAM_MEMORY_MB(
+      "ChildProcess.HungRendererAvailableMemoryMB",
+      base::SysInfo::AmountOfAvailablePhysicalMemory() / 1024 / 1024);
   IncrementPrefValue(prefs::kStabilityRendererHangCount);
 }
 
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index cf5eb11..12104265 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -16490,6 +16490,16 @@
   </summary>
 </histogram>
 
+<histogram name="ChildProcess.HungRendererAvailableMemoryMB" units="MB"
+    expires_after="M79">
+  <owner>cduvall@chromium.org</owner>
+  <owner>cmumford@chromium.org</owner>
+  <summary>
+    The amount of avaiable memory when a renderer hangs. Recorded for every
+    renderer hang.
+  </summary>
+</histogram>
+
 <histogram name="ChildProcess.HungRendererCause"
     enum="RendererUnresponsiveCause" expires_after="M74">
   <obsolete>