summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/com/android/internal/os/KernelMemoryBandwidthStats.java8
-rw-r--r--core/java/com/android/internal/os/KernelWakelockReader.java7
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);