Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ac40038 authored by Rafal Slawik's avatar Rafal Slawik
Browse files

Check if RssAnon and swap were read

Keep memory snapshots even if anon RSS and swap are both 0 as long as
the values were read correctly. These should happen rarely and statsd
can be configured to ignore atoms with zeros.

Bug: 145755384
Test: atest UidAtomTests#testProcessMemorySnapshot
Change-Id: I0ab13be008c48113f80269af4f815d807096b938
parent a2807f28
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -41,10 +41,11 @@ public final class ProcfsMemoryUtil {
    public static MemorySnapshot readMemorySnapshotFromProcfs(int pid) {
        long[] output = new long[STATUS_KEYS.length];
        output[0] = -1;
        output[3] = -1;
        output[4] = -1;
        Process.readProcLines("/proc/" + pid + "/status", STATUS_KEYS, output);
        if (output[0] == -1 || (output[3] == 0 && output[4] == 0)) {
            // Could not open file or anon rss / swap are 0 indicating the process is in a zombie
            // state.
        if (output[0] == -1 || output[3] == -1 || output[4] == -1) {
            // Could not open or parse file.
            return null;
        }
        final MemorySnapshot snapshot = new MemorySnapshot();