diff options
| -rw-r--r-- | core/java/com/android/internal/os/KernelMemoryBandwidthStats.java | 8 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/KernelWakelockReader.java | 7 |
2 files changed, 15 insertions, 0 deletions
diff --git a/core/java/com/android/internal/os/KernelMemoryBandwidthStats.java b/core/java/com/android/internal/os/KernelMemoryBandwidthStats.java index aa56e9333deb..15a5e3e53fd3 100644 --- a/core/java/com/android/internal/os/KernelMemoryBandwidthStats.java +++ b/core/java/com/android/internal/os/KernelMemoryBandwidthStats.java @@ -1,6 +1,7 @@ package com.android.internal.os; import android.os.StrictMode; +import android.os.SystemClock; import android.text.TextUtils; import android.util.LongSparseLongArray; import android.util.Slog; @@ -37,6 +38,8 @@ public class KernelMemoryBandwidthStats { return; } + final long startTime = SystemClock.uptimeMillis(); + StrictMode.ThreadPolicy policy = StrictMode.allowThreadDiskReads(); try (BufferedReader reader = new BufferedReader(new FileReader(mSysfsFile))) { parseStats(reader); @@ -50,6 +53,11 @@ public class KernelMemoryBandwidthStats { } finally { StrictMode.setThreadPolicy(policy); } + + final long readTime = SystemClock.uptimeMillis() - startTime; + if (DEBUG || readTime > 100) { + Slog.w(TAG, "Reading memory bandwidth file took " + readTime + "ms"); + } } @VisibleForTesting diff --git a/core/java/com/android/internal/os/KernelWakelockReader.java b/core/java/com/android/internal/os/KernelWakelockReader.java index 8036f257823b..7178ec7af20b 100644 --- a/core/java/com/android/internal/os/KernelWakelockReader.java +++ b/core/java/com/android/internal/os/KernelWakelockReader.java @@ -16,6 +16,7 @@ package com.android.internal.os; import android.os.Process; +import android.os.SystemClock; import android.util.Slog; import com.android.internal.annotations.VisibleForTesting; @@ -66,6 +67,7 @@ public class KernelWakelockReader { byte[] buffer = new byte[32*1024]; int len; boolean wakeup_sources; + final long startTime = SystemClock.uptimeMillis(); try { FileInputStream is; @@ -90,6 +92,11 @@ public class KernelWakelockReader { 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 >= buffer.length) { Slog.wtf(TAG, "Kernel wake locks exceeded buffer size " + buffer.length); |