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

Commit 2a8a58ea authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add logging for unusually long read times" into oc-dr1-dev

parents 845a4035 3d5d9aef
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
package com.android.internal.os;
package com.android.internal.os;


import android.os.StrictMode;
import android.os.StrictMode;
import android.os.SystemClock;
import android.text.TextUtils;
import android.text.TextUtils;
import android.util.LongSparseLongArray;
import android.util.LongSparseLongArray;
import android.util.Slog;
import android.util.Slog;
@@ -37,6 +38,8 @@ public class KernelMemoryBandwidthStats {
            return;
            return;
        }
        }


        final long startTime = SystemClock.uptimeMillis();

        StrictMode.ThreadPolicy policy = StrictMode.allowThreadDiskReads();
        StrictMode.ThreadPolicy policy = StrictMode.allowThreadDiskReads();
        try (BufferedReader reader = new BufferedReader(new FileReader(mSysfsFile))) {
        try (BufferedReader reader = new BufferedReader(new FileReader(mSysfsFile))) {
            parseStats(reader);
            parseStats(reader);
@@ -50,6 +53,11 @@ public class KernelMemoryBandwidthStats {
        } finally {
        } finally {
            StrictMode.setThreadPolicy(policy);
            StrictMode.setThreadPolicy(policy);
        }
        }

        final long readTime = SystemClock.uptimeMillis() - startTime;
        if (DEBUG || readTime > 100) {
            Slog.w(TAG, "Reading memory bandwidth file took " + readTime + "ms");
        }
    }
    }


    @VisibleForTesting
    @VisibleForTesting
+7 −0
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@
package com.android.internal.os;
package com.android.internal.os;


import android.os.Process;
import android.os.Process;
import android.os.SystemClock;
import android.util.Slog;
import android.util.Slog;


import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
@@ -66,6 +67,7 @@ public class KernelWakelockReader {
        byte[] buffer = new byte[32*1024];
        byte[] buffer = new byte[32*1024];
        int len;
        int len;
        boolean wakeup_sources;
        boolean wakeup_sources;
        final long startTime = SystemClock.uptimeMillis();


        try {
        try {
            FileInputStream is;
            FileInputStream is;
@@ -90,6 +92,11 @@ public class KernelWakelockReader {
            return null;
            return null;
        }
        }


        final long readTime = SystemClock.uptimeMillis() - startTime;
        if (readTime > 100) {
            Slog.w(TAG, "Reading wakelock stats took " + readTime + "ms");
        }

        if (len > 0) {
        if (len > 0) {
            if (len >= buffer.length) {
            if (len >= buffer.length) {
                Slog.wtf(TAG, "Kernel wake locks exceeded buffer size " + buffer.length);
                Slog.wtf(TAG, "Kernel wake locks exceeded buffer size " + buffer.length);