in metrics/src/main/java/com/facebook/battery/metrics/cpu/CpuFrequencyMetricsCollector.java [75:98]
private synchronized boolean readCoreStats(SparseIntArray array, ProcFileReader reader) {
array.clear();
// A failure is mostly expected because files become inaccessible in case of
// the core being taken offline.
if (!reader.isValid()) {
return false;
}
try {
while (reader.hasNext()) {
long frequency = reader.readNumber();
reader.skipSpaces();
long timeInState = reader.readNumber() / CpuMetricsCollector.getClockTicksPerSecond();
reader.skipLine();
array.put((int) frequency, (int) timeInState);
}
} catch (ProcFileReader.ParseException pe) {
return false;
}
return true;
}