Merge "Avoid excessive logging when the necessary proc file is unavailable." into oc-dev

This commit is contained in:
Sudheer Shanka
2017-06-02 21:10:32 +00:00
committed by Android (Google) Code Review

View File

@@ -53,10 +53,21 @@ public class KernelUidCpuFreqTimeReader {
private SparseArray<long[]> mLastUidCpuFreqTimeMs = new SparseArray<>();
// We check the existence of proc file a few times (just in case it is not ready yet when we
// start reading) and if it is not available, we simply ignore further read requests.
private static final int TOTAL_READ_ERROR_COUNT = 5;
private int mReadErrorCounter;
private boolean mProcFileAvailable;
public void readDelta(@Nullable Callback callback) {
if (!mProcFileAvailable && mReadErrorCounter >= TOTAL_READ_ERROR_COUNT) {
return;
}
try (BufferedReader reader = new BufferedReader(new FileReader(UID_TIMES_PROC_FILE))) {
readDelta(reader, callback);
mProcFileAvailable = true;
} catch (IOException e) {
mReadErrorCounter++;
Slog.e(TAG, "Failed to read " + UID_TIMES_PROC_FILE + ": " + e);
}
}