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

This commit is contained in:
TreeHugger Robot
2017-07-07 21:43:46 +00:00
committed by Android (Google) Code Review
2 changed files with 15 additions and 0 deletions

View File

@@ -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

View File

@@ -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);