Invoke rss_hwm_reset binary
Flip sys.rss_hwm_reset.on property to invoke the binary to reset RSS HWM
counters for all processes.
Test: m -j
Test: ProcessMemoryHighWaterMark pull
Bug: 119598534
Change-Id: I53d8c571b27ddee611193aa36fdbd3d4c88abebd
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index 410bd19..7a30c9a 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -2627,6 +2627,8 @@
*
* Pulled from StatsCompanionService for all managed processes (from ActivityManagerServie)
* and for selected native processes.
+ *
+ * Pulling this atom resets high-water mark counters for all processes.
*/
message ProcessMemoryHighWaterMark {
// The uid if available. -1 means not available.
diff --git a/services/core/java/com/android/server/stats/StatsCompanionService.java b/services/core/java/com/android/server/stats/StatsCompanionService.java
index f0ebb75..4ec8b87 100644
--- a/services/core/java/com/android/server/stats/StatsCompanionService.java
+++ b/services/core/java/com/android/server/stats/StatsCompanionService.java
@@ -74,6 +74,7 @@
import android.os.StatsLogEventWrapper;
import android.os.SynchronousResultReceiver;
import android.os.SystemClock;
+import android.os.SystemProperties;
import android.os.Temperature;
import android.os.UserHandle;
import android.os.UserManager;
@@ -1140,7 +1141,8 @@
e.writeLong(rssHighWaterMarkInBytes);
pulledData.add(e);
}
- // TODO(b/119598534): Reset HWM counters here.
+ // Invoke rss_hwm_reset binary to reset RSS HWM counters for all processes.
+ SystemProperties.set("sys.rss_hwm_reset.on", "1");
}
private void pullBinderCallsStats(