Loading core/java/android/os/BatteryStats.java +138 −107 Original line number Diff line number Diff line Loading @@ -3054,12 +3054,26 @@ public abstract class BatteryStats implements Parcelable { final long idleTimeMs = counter.getIdleTimeCounter().getCountLocked(which); final long rxTimeMs = counter.getRxTimeCounter().getCountLocked(which); final long powerDrainMaMs = counter.getPowerCounter().getCountLocked(which); // Battery real time final long totalControllerActivityTimeMs = computeBatteryRealtime(SystemClock.elapsedRealtime() * 1000, which) / 1000; long totalTxTimeMs = 0; for (LongCounter txState : counter.getTxTimeCounters()) { totalTxTimeMs += txState.getCountLocked(which); } final long sleepTimeMs = totalControllerActivityTimeMs - (idleTimeMs + rxTimeMs + totalTxTimeMs); final long totalTimeMs = idleTimeMs + rxTimeMs + totalTxTimeMs; sb.setLength(0); sb.append(prefix); sb.append(" "); sb.append(controllerName); sb.append(" Sleep time: "); formatTimeMs(sb, sleepTimeMs); sb.append("("); sb.append(formatRatioLocked(sleepTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); sb.setLength(0); sb.append(prefix); Loading @@ -3068,7 +3082,7 @@ public abstract class BatteryStats implements Parcelable { sb.append(" Idle time: "); formatTimeMs(sb, idleTimeMs); sb.append("("); sb.append(formatRatioLocked(idleTimeMs, totalTimeMs)); sb.append(formatRatioLocked(idleTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); Loading @@ -3079,7 +3093,7 @@ public abstract class BatteryStats implements Parcelable { sb.append(" Rx time: "); formatTimeMs(sb, rxTimeMs); sb.append("("); sb.append(formatRatioLocked(rxTimeMs, totalTimeMs)); sb.append(formatRatioLocked(rxTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); Loading @@ -3088,38 +3102,57 @@ public abstract class BatteryStats implements Parcelable { sb.append(" "); sb.append(controllerName); sb.append(" Tx time: "); formatTimeMs(sb, totalTxTimeMs); sb.append("("); sb.append(formatRatioLocked(totalTxTimeMs, totalTimeMs)); sb.append(")"); pw.println(sb.toString()); final int numTxLvls = counter.getTxTimeCounters().length; String [] powerLevel; switch(controllerName) { case "Cellular": powerLevel = new String[] { " less than 0dBm: ", " 0dBm to 8dBm: ", " 8dBm to 15dBm: ", " 15dBm to 20dBm: ", " above 20dBm: "}; break; default: powerLevel = new String[] {"[0]", "[1]", "[2]", "[3]", "[4]"}; break; } final int numTxLvls = Math.min(counter.getTxTimeCounters().length, powerLevel.length); if (numTxLvls > 1) { pw.println(sb.toString()); for (int lvl = 0; lvl < numTxLvls; lvl++) { final long txLvlTimeMs = counter.getTxTimeCounters()[lvl].getCountLocked(which); sb.setLength(0); sb.append(prefix); sb.append(" ["); sb.append(lvl); sb.append("] "); sb.append(" "); sb.append(powerLevel[lvl]); sb.append(" "); formatTimeMs(sb, txLvlTimeMs); sb.append("("); sb.append(formatRatioLocked(txLvlTimeMs, totalTxTimeMs)); sb.append(formatRatioLocked(txLvlTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); } } else { final long txLvlTimeMs = counter.getTxTimeCounters()[0].getCountLocked(which); formatTimeMs(sb, txLvlTimeMs); sb.append("("); sb.append(formatRatioLocked(txLvlTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); } if (powerDrainMaMs > 0) { sb.setLength(0); sb.append(prefix); sb.append(" "); sb.append(controllerName); sb.append(" Power drain: ").append( sb.append(" Battery drain: ").append( BatteryStatsHelper.makemAh(powerDrainMaMs / (double) (1000*60*60))); sb.append("mAh"); pw.println(sb.toString()); } } /** * Temporary for settings. Loading Loading @@ -4186,44 +4219,43 @@ public abstract class BatteryStats implements Parcelable { pw.println(sb.toString()); } pw.println(""); pw.print(prefix); pw.print(" Mobile total received: "); pw.print(formatBytesLocked(mobileRxTotalBytes)); pw.print(", sent: "); pw.print(formatBytesLocked(mobileTxTotalBytes)); pw.print(" (packets received "); pw.print(mobileRxTotalPackets); pw.print(", sent "); pw.print(mobileTxTotalPackets); pw.println(")"); sb.setLength(0); sb.append(prefix); sb.append(" Phone signal levels:"); didOne = false; for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) { final long time = getPhoneSignalStrengthTime(i, rawRealtime, which); if (time == 0) { continue; } sb.append("\n "); sb.append(" CONNECTIVITY POWER SUMMARY START"); pw.println(sb.toString()); pw.print(prefix); sb.setLength(0); sb.append(prefix); didOne = true; sb.append(SignalStrength.SIGNAL_STRENGTH_NAMES[i]); sb.append(" "); formatTimeMs(sb, time/1000); sb.append("("); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); sb.append(getPhoneSignalStrengthCount(i, which)); sb.append("x"); } if (!didOne) sb.append(" (no activity)"); sb.append(" Logging duration for connectivity statistics: "); formatTimeMs(sb, whichBatteryRealtime / 1000); pw.println(sb.toString()); sb.setLength(0); sb.append(prefix); sb.append(" Signal scanning time: "); formatTimeMsNoSpace(sb, getPhoneSignalScanningTime(rawRealtime, which) / 1000); sb.append(" Cellular Statistics:"); pw.println(sb.toString()); pw.print(prefix); sb.setLength(0); sb.append(prefix); sb.append(" Radio types:"); sb.append(" Cellular kernel active time: "); final long mobileActiveTime = getMobileRadioActiveTime(rawRealtime, which); formatTimeMs(sb, mobileActiveTime / 1000); sb.append("("); sb.append(formatRatioLocked(mobileActiveTime, whichBatteryRealtime)); sb.append(")"); pw.println(sb.toString()); pw.print(" Cellular data received: "); pw.println(formatBytesLocked(mobileRxTotalBytes)); pw.print(" Cellular data sent: "); pw.println(formatBytesLocked(mobileTxTotalBytes)); pw.print(" Cellular packets received: "); pw.println(mobileRxTotalPackets); pw.print(" Cellular packets sent: "); pw.println(mobileTxTotalPackets); sb.setLength(0); sb.append(prefix); sb.append(" Cellular Radio Access Technology:"); didOne = false; for (int i=0; i<NUM_DATA_CONNECTION_TYPES; i++) { final long time = getPhoneDataConnectionTime(i, rawRealtime, which); Loading @@ -4239,63 +4271,54 @@ public abstract class BatteryStats implements Parcelable { sb.append("("); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); sb.append(getPhoneDataConnectionCount(i, which)); sb.append("x"); } if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); sb.setLength(0); sb.append(prefix); sb.append(" Mobile radio active time: "); final long mobileActiveTime = getMobileRadioActiveTime(rawRealtime, which); formatTimeMs(sb, mobileActiveTime / 1000); sb.append("("); sb.append(formatRatioLocked(mobileActiveTime, whichBatteryRealtime)); sb.append(") "); sb.append(getMobileRadioActiveCount(which)); sb.append("x"); pw.println(sb.toString()); final long mobileActiveUnknownTime = getMobileRadioActiveUnknownTime(which); if (mobileActiveUnknownTime != 0) { sb.setLength(0); sb.append(prefix); sb.append(" Mobile radio active unknown time: "); formatTimeMs(sb, mobileActiveUnknownTime / 1000); sb.append("("); sb.append(formatRatioLocked(mobileActiveUnknownTime, whichBatteryRealtime)); sb.append(") "); sb.append(getMobileRadioActiveUnknownCount(which)); sb.append("x"); pw.println(sb.toString()); sb.append(" Cellular Rx signal strength (RSRP):"); final String[] cellularRxSignalStrengthDescription = new String[]{ "very poor (less than -128dBm): ", "poor (-128dBm to -118dBm): ", "moderate (-118dBm to -108dBm): ", "good (-108dBm to -98dBm): ", "great (greater than -98dBm): "}; didOne = false; final int numCellularRxBins = Math.min(SignalStrength.NUM_SIGNAL_STRENGTH_BINS, cellularRxSignalStrengthDescription.length); for (int i=0; i<numCellularRxBins; i++) { final long time = getPhoneSignalStrengthTime(i, rawRealtime, which); if (time == 0) { continue; } final long mobileActiveAdjustedTime = getMobileRadioActiveAdjustedTime(which); if (mobileActiveAdjustedTime != 0) { sb.setLength(0); sb.append("\n "); sb.append(prefix); sb.append(" Mobile radio active adjusted time: "); formatTimeMs(sb, mobileActiveAdjustedTime / 1000); didOne = true; sb.append(cellularRxSignalStrengthDescription[i]); sb.append(" "); formatTimeMs(sb, time/1000); sb.append("("); sb.append(formatRatioLocked(mobileActiveAdjustedTime, whichBatteryRealtime)); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); pw.println(sb.toString()); } if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); printControllerActivity(pw, sb, prefix, "Radio", getModemControllerActivity(), which); printControllerActivity(pw, sb, prefix, "Cellular", getModemControllerActivity(), which); pw.print(prefix); pw.print(" Wi-Fi total received: "); pw.print(formatBytesLocked(wifiRxTotalBytes)); pw.print(", sent: "); pw.print(formatBytesLocked(wifiTxTotalBytes)); pw.print(" (packets received "); pw.print(wifiRxTotalPackets); pw.print(", sent "); pw.print(wifiTxTotalPackets); pw.println(")"); sb.setLength(0); sb.append(prefix); sb.append(" Wifi on: "); formatTimeMs(sb, wifiOnTime / 1000); sb.append("("); sb.append(formatRatioLocked(wifiOnTime, whichBatteryRealtime)); sb.append("), Wifi running: "); formatTimeMs(sb, wifiRunningTime / 1000); sb.append("("); sb.append(formatRatioLocked(wifiRunningTime, whichBatteryRealtime)); sb.append(")"); sb.append(" Wifi Statistics:"); pw.println(sb.toString()); pw.print(" Wifi data received: "); pw.println(formatBytesLocked(wifiRxTotalBytes)); pw.print(" Wifi data sent: "); pw.println(formatBytesLocked(wifiTxTotalBytes)); pw.print(" Wifi packets received: "); pw.println(wifiRxTotalPackets); pw.print(" Wifi packets sent: "); pw.println(wifiTxTotalPackets); sb.setLength(0); sb.append(prefix); sb.append(" Wifi states:"); Loading @@ -4313,8 +4336,6 @@ public abstract class BatteryStats implements Parcelable { sb.append("("); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); sb.append(getWifiStateCount(i, which)); sb.append("x"); } if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); Loading @@ -4336,17 +4357,23 @@ public abstract class BatteryStats implements Parcelable { sb.append("("); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); sb.append(getWifiSupplStateCount(i, which)); sb.append("x"); } if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); sb.setLength(0); sb.append(prefix); sb.append(" Wifi signal levels:"); sb.append(" Wifi Rx signal strength (RSSI):"); final String[] wifiRxSignalStrengthDescription = new String[]{ "very poor (less than -88.75dBm): ", "poor (-88.75 to -77.5dBm): ", "moderate (-77.5dBm to -66.25dBm): ", "good (-66.25dBm to -55dBm): ", "great (greater than -55dBm): "}; didOne = false; for (int i=0; i<NUM_WIFI_SIGNAL_STRENGTH_BINS; i++) { final int numWifiRxBins = Math.min(NUM_WIFI_SIGNAL_STRENGTH_BINS, wifiRxSignalStrengthDescription.length); for (int i=0; i<numWifiRxBins; i++) { final long time = getWifiSignalStrengthTime(i, rawRealtime, which); if (time == 0) { continue; Loading @@ -4354,21 +4381,25 @@ public abstract class BatteryStats implements Parcelable { sb.append("\n "); sb.append(prefix); didOne = true; sb.append("level("); sb.append(i); sb.append(") "); sb.append(" "); sb.append(wifiRxSignalStrengthDescription[i]); formatTimeMs(sb, time/1000); sb.append("("); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); sb.append(getWifiSignalStrengthCount(i, which)); sb.append("x"); } if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); printControllerActivity(pw, sb, prefix, "WiFi", getWifiControllerActivity(), which); pw.print(prefix); sb.setLength(0); sb.append(prefix); sb.append(" CONNECTIVITY POWER SUMMARY END"); pw.println(sb.toString()); pw.println(""); pw.print(prefix); pw.print(" Bluetooth total received: "); pw.print(formatBytesLocked(btRxTotalBytes)); pw.print(", sent: "); pw.println(formatBytesLocked(btTxTotalBytes)); Loading core/java/android/os/Debug.java +12 −8 Original line number Diff line number Diff line Loading @@ -1749,21 +1749,25 @@ public final class Debug /** @hide */ public static final int MEMINFO_SLAB = 5; /** @hide */ public static final int MEMINFO_SWAP_TOTAL = 6; public static final int MEMINFO_SLAB_RECLAIMABLE = 6; /** @hide */ public static final int MEMINFO_SWAP_FREE = 7; public static final int MEMINFO_SLAB_UNRECLAIMABLE = 7; /** @hide */ public static final int MEMINFO_ZRAM_TOTAL = 8; public static final int MEMINFO_SWAP_TOTAL = 8; /** @hide */ public static final int MEMINFO_MAPPED = 9; public static final int MEMINFO_SWAP_FREE = 9; /** @hide */ public static final int MEMINFO_VM_ALLOC_USED = 10; public static final int MEMINFO_ZRAM_TOTAL = 10; /** @hide */ public static final int MEMINFO_PAGE_TABLES = 11; public static final int MEMINFO_MAPPED = 11; /** @hide */ public static final int MEMINFO_KERNEL_STACK = 12; public static final int MEMINFO_VM_ALLOC_USED = 12; /** @hide */ public static final int MEMINFO_COUNT = 13; public static final int MEMINFO_PAGE_TABLES = 13; /** @hide */ public static final int MEMINFO_KERNEL_STACK = 14; /** @hide */ public static final int MEMINFO_COUNT = 15; /** * Retrieves /proc/meminfo. outSizes is filled with fields Loading core/java/android/view/textclassifier/logging/SmartSelectionEventTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ import java.util.UUID; public final class SmartSelectionEventTracker { private static final String LOG_TAG = "SmartSelectEventTracker"; private static final boolean DEBUG_LOG_ENABLED = true; private static final boolean DEBUG_LOG_ENABLED = false; private static final int START_EVENT_DELTA = MetricsEvent.FIELD_SELECTION_SINCE_START; private static final int PREV_EVENT_DELTA = MetricsEvent.FIELD_SELECTION_SINCE_PREVIOUS; Loading core/java/com/android/internal/util/MemInfoReader.java +2 −2 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ public final class MemInfoReader { * that are mapped in to processes. */ public long getCachedSizeKb() { return mInfos[Debug.MEMINFO_BUFFERS] return mInfos[Debug.MEMINFO_BUFFERS] + mInfos[Debug.MEMINFO_SLAB_RECLAIMABLE] + mInfos[Debug.MEMINFO_CACHED] - mInfos[Debug.MEMINFO_MAPPED]; } Loading @@ -90,7 +90,7 @@ public final class MemInfoReader { * Amount of RAM that is in use by the kernel for actual allocations. */ public long getKernelUsedSizeKb() { return mInfos[Debug.MEMINFO_SHMEM] + mInfos[Debug.MEMINFO_SLAB] return mInfos[Debug.MEMINFO_SHMEM] + mInfos[Debug.MEMINFO_SLAB_UNRECLAIMABLE] + mInfos[Debug.MEMINFO_VM_ALLOC_USED] + mInfos[Debug.MEMINFO_PAGE_TABLES] + mInfos[Debug.MEMINFO_KERNEL_STACK]; } Loading core/jni/android_os_Debug.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -705,6 +705,8 @@ enum { MEMINFO_CACHED, MEMINFO_SHMEM, MEMINFO_SLAB, MEMINFO_SLAB_RECLAIMABLE, MEMINFO_SLAB_UNRECLAIMABLE, MEMINFO_SWAP_TOTAL, MEMINFO_SWAP_FREE, MEMINFO_ZRAM_TOTAL, Loading Loading @@ -776,6 +778,8 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o "Cached:", "Shmem:", "Slab:", "SReclaimable:", "SUnreclaim:", "SwapTotal:", "SwapFree:", "ZRam:", Loading @@ -792,6 +796,8 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o 7, 6, 5, 13, 11, 10, 9, 5, Loading @@ -801,7 +807,7 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o 12, 0 }; long mem[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; long mem[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; char* p = buffer; while (*p && numFound < (sizeof(tagsLen) / sizeof(tagsLen[0]))) { Loading Loading
core/java/android/os/BatteryStats.java +138 −107 Original line number Diff line number Diff line Loading @@ -3054,12 +3054,26 @@ public abstract class BatteryStats implements Parcelable { final long idleTimeMs = counter.getIdleTimeCounter().getCountLocked(which); final long rxTimeMs = counter.getRxTimeCounter().getCountLocked(which); final long powerDrainMaMs = counter.getPowerCounter().getCountLocked(which); // Battery real time final long totalControllerActivityTimeMs = computeBatteryRealtime(SystemClock.elapsedRealtime() * 1000, which) / 1000; long totalTxTimeMs = 0; for (LongCounter txState : counter.getTxTimeCounters()) { totalTxTimeMs += txState.getCountLocked(which); } final long sleepTimeMs = totalControllerActivityTimeMs - (idleTimeMs + rxTimeMs + totalTxTimeMs); final long totalTimeMs = idleTimeMs + rxTimeMs + totalTxTimeMs; sb.setLength(0); sb.append(prefix); sb.append(" "); sb.append(controllerName); sb.append(" Sleep time: "); formatTimeMs(sb, sleepTimeMs); sb.append("("); sb.append(formatRatioLocked(sleepTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); sb.setLength(0); sb.append(prefix); Loading @@ -3068,7 +3082,7 @@ public abstract class BatteryStats implements Parcelable { sb.append(" Idle time: "); formatTimeMs(sb, idleTimeMs); sb.append("("); sb.append(formatRatioLocked(idleTimeMs, totalTimeMs)); sb.append(formatRatioLocked(idleTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); Loading @@ -3079,7 +3093,7 @@ public abstract class BatteryStats implements Parcelable { sb.append(" Rx time: "); formatTimeMs(sb, rxTimeMs); sb.append("("); sb.append(formatRatioLocked(rxTimeMs, totalTimeMs)); sb.append(formatRatioLocked(rxTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); Loading @@ -3088,38 +3102,57 @@ public abstract class BatteryStats implements Parcelable { sb.append(" "); sb.append(controllerName); sb.append(" Tx time: "); formatTimeMs(sb, totalTxTimeMs); sb.append("("); sb.append(formatRatioLocked(totalTxTimeMs, totalTimeMs)); sb.append(")"); pw.println(sb.toString()); final int numTxLvls = counter.getTxTimeCounters().length; String [] powerLevel; switch(controllerName) { case "Cellular": powerLevel = new String[] { " less than 0dBm: ", " 0dBm to 8dBm: ", " 8dBm to 15dBm: ", " 15dBm to 20dBm: ", " above 20dBm: "}; break; default: powerLevel = new String[] {"[0]", "[1]", "[2]", "[3]", "[4]"}; break; } final int numTxLvls = Math.min(counter.getTxTimeCounters().length, powerLevel.length); if (numTxLvls > 1) { pw.println(sb.toString()); for (int lvl = 0; lvl < numTxLvls; lvl++) { final long txLvlTimeMs = counter.getTxTimeCounters()[lvl].getCountLocked(which); sb.setLength(0); sb.append(prefix); sb.append(" ["); sb.append(lvl); sb.append("] "); sb.append(" "); sb.append(powerLevel[lvl]); sb.append(" "); formatTimeMs(sb, txLvlTimeMs); sb.append("("); sb.append(formatRatioLocked(txLvlTimeMs, totalTxTimeMs)); sb.append(formatRatioLocked(txLvlTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); } } else { final long txLvlTimeMs = counter.getTxTimeCounters()[0].getCountLocked(which); formatTimeMs(sb, txLvlTimeMs); sb.append("("); sb.append(formatRatioLocked(txLvlTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); } if (powerDrainMaMs > 0) { sb.setLength(0); sb.append(prefix); sb.append(" "); sb.append(controllerName); sb.append(" Power drain: ").append( sb.append(" Battery drain: ").append( BatteryStatsHelper.makemAh(powerDrainMaMs / (double) (1000*60*60))); sb.append("mAh"); pw.println(sb.toString()); } } /** * Temporary for settings. Loading Loading @@ -4186,44 +4219,43 @@ public abstract class BatteryStats implements Parcelable { pw.println(sb.toString()); } pw.println(""); pw.print(prefix); pw.print(" Mobile total received: "); pw.print(formatBytesLocked(mobileRxTotalBytes)); pw.print(", sent: "); pw.print(formatBytesLocked(mobileTxTotalBytes)); pw.print(" (packets received "); pw.print(mobileRxTotalPackets); pw.print(", sent "); pw.print(mobileTxTotalPackets); pw.println(")"); sb.setLength(0); sb.append(prefix); sb.append(" Phone signal levels:"); didOne = false; for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) { final long time = getPhoneSignalStrengthTime(i, rawRealtime, which); if (time == 0) { continue; } sb.append("\n "); sb.append(" CONNECTIVITY POWER SUMMARY START"); pw.println(sb.toString()); pw.print(prefix); sb.setLength(0); sb.append(prefix); didOne = true; sb.append(SignalStrength.SIGNAL_STRENGTH_NAMES[i]); sb.append(" "); formatTimeMs(sb, time/1000); sb.append("("); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); sb.append(getPhoneSignalStrengthCount(i, which)); sb.append("x"); } if (!didOne) sb.append(" (no activity)"); sb.append(" Logging duration for connectivity statistics: "); formatTimeMs(sb, whichBatteryRealtime / 1000); pw.println(sb.toString()); sb.setLength(0); sb.append(prefix); sb.append(" Signal scanning time: "); formatTimeMsNoSpace(sb, getPhoneSignalScanningTime(rawRealtime, which) / 1000); sb.append(" Cellular Statistics:"); pw.println(sb.toString()); pw.print(prefix); sb.setLength(0); sb.append(prefix); sb.append(" Radio types:"); sb.append(" Cellular kernel active time: "); final long mobileActiveTime = getMobileRadioActiveTime(rawRealtime, which); formatTimeMs(sb, mobileActiveTime / 1000); sb.append("("); sb.append(formatRatioLocked(mobileActiveTime, whichBatteryRealtime)); sb.append(")"); pw.println(sb.toString()); pw.print(" Cellular data received: "); pw.println(formatBytesLocked(mobileRxTotalBytes)); pw.print(" Cellular data sent: "); pw.println(formatBytesLocked(mobileTxTotalBytes)); pw.print(" Cellular packets received: "); pw.println(mobileRxTotalPackets); pw.print(" Cellular packets sent: "); pw.println(mobileTxTotalPackets); sb.setLength(0); sb.append(prefix); sb.append(" Cellular Radio Access Technology:"); didOne = false; for (int i=0; i<NUM_DATA_CONNECTION_TYPES; i++) { final long time = getPhoneDataConnectionTime(i, rawRealtime, which); Loading @@ -4239,63 +4271,54 @@ public abstract class BatteryStats implements Parcelable { sb.append("("); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); sb.append(getPhoneDataConnectionCount(i, which)); sb.append("x"); } if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); sb.setLength(0); sb.append(prefix); sb.append(" Mobile radio active time: "); final long mobileActiveTime = getMobileRadioActiveTime(rawRealtime, which); formatTimeMs(sb, mobileActiveTime / 1000); sb.append("("); sb.append(formatRatioLocked(mobileActiveTime, whichBatteryRealtime)); sb.append(") "); sb.append(getMobileRadioActiveCount(which)); sb.append("x"); pw.println(sb.toString()); final long mobileActiveUnknownTime = getMobileRadioActiveUnknownTime(which); if (mobileActiveUnknownTime != 0) { sb.setLength(0); sb.append(prefix); sb.append(" Mobile radio active unknown time: "); formatTimeMs(sb, mobileActiveUnknownTime / 1000); sb.append("("); sb.append(formatRatioLocked(mobileActiveUnknownTime, whichBatteryRealtime)); sb.append(") "); sb.append(getMobileRadioActiveUnknownCount(which)); sb.append("x"); pw.println(sb.toString()); sb.append(" Cellular Rx signal strength (RSRP):"); final String[] cellularRxSignalStrengthDescription = new String[]{ "very poor (less than -128dBm): ", "poor (-128dBm to -118dBm): ", "moderate (-118dBm to -108dBm): ", "good (-108dBm to -98dBm): ", "great (greater than -98dBm): "}; didOne = false; final int numCellularRxBins = Math.min(SignalStrength.NUM_SIGNAL_STRENGTH_BINS, cellularRxSignalStrengthDescription.length); for (int i=0; i<numCellularRxBins; i++) { final long time = getPhoneSignalStrengthTime(i, rawRealtime, which); if (time == 0) { continue; } final long mobileActiveAdjustedTime = getMobileRadioActiveAdjustedTime(which); if (mobileActiveAdjustedTime != 0) { sb.setLength(0); sb.append("\n "); sb.append(prefix); sb.append(" Mobile radio active adjusted time: "); formatTimeMs(sb, mobileActiveAdjustedTime / 1000); didOne = true; sb.append(cellularRxSignalStrengthDescription[i]); sb.append(" "); formatTimeMs(sb, time/1000); sb.append("("); sb.append(formatRatioLocked(mobileActiveAdjustedTime, whichBatteryRealtime)); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); pw.println(sb.toString()); } if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); printControllerActivity(pw, sb, prefix, "Radio", getModemControllerActivity(), which); printControllerActivity(pw, sb, prefix, "Cellular", getModemControllerActivity(), which); pw.print(prefix); pw.print(" Wi-Fi total received: "); pw.print(formatBytesLocked(wifiRxTotalBytes)); pw.print(", sent: "); pw.print(formatBytesLocked(wifiTxTotalBytes)); pw.print(" (packets received "); pw.print(wifiRxTotalPackets); pw.print(", sent "); pw.print(wifiTxTotalPackets); pw.println(")"); sb.setLength(0); sb.append(prefix); sb.append(" Wifi on: "); formatTimeMs(sb, wifiOnTime / 1000); sb.append("("); sb.append(formatRatioLocked(wifiOnTime, whichBatteryRealtime)); sb.append("), Wifi running: "); formatTimeMs(sb, wifiRunningTime / 1000); sb.append("("); sb.append(formatRatioLocked(wifiRunningTime, whichBatteryRealtime)); sb.append(")"); sb.append(" Wifi Statistics:"); pw.println(sb.toString()); pw.print(" Wifi data received: "); pw.println(formatBytesLocked(wifiRxTotalBytes)); pw.print(" Wifi data sent: "); pw.println(formatBytesLocked(wifiTxTotalBytes)); pw.print(" Wifi packets received: "); pw.println(wifiRxTotalPackets); pw.print(" Wifi packets sent: "); pw.println(wifiTxTotalPackets); sb.setLength(0); sb.append(prefix); sb.append(" Wifi states:"); Loading @@ -4313,8 +4336,6 @@ public abstract class BatteryStats implements Parcelable { sb.append("("); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); sb.append(getWifiStateCount(i, which)); sb.append("x"); } if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); Loading @@ -4336,17 +4357,23 @@ public abstract class BatteryStats implements Parcelable { sb.append("("); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); sb.append(getWifiSupplStateCount(i, which)); sb.append("x"); } if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); sb.setLength(0); sb.append(prefix); sb.append(" Wifi signal levels:"); sb.append(" Wifi Rx signal strength (RSSI):"); final String[] wifiRxSignalStrengthDescription = new String[]{ "very poor (less than -88.75dBm): ", "poor (-88.75 to -77.5dBm): ", "moderate (-77.5dBm to -66.25dBm): ", "good (-66.25dBm to -55dBm): ", "great (greater than -55dBm): "}; didOne = false; for (int i=0; i<NUM_WIFI_SIGNAL_STRENGTH_BINS; i++) { final int numWifiRxBins = Math.min(NUM_WIFI_SIGNAL_STRENGTH_BINS, wifiRxSignalStrengthDescription.length); for (int i=0; i<numWifiRxBins; i++) { final long time = getWifiSignalStrengthTime(i, rawRealtime, which); if (time == 0) { continue; Loading @@ -4354,21 +4381,25 @@ public abstract class BatteryStats implements Parcelable { sb.append("\n "); sb.append(prefix); didOne = true; sb.append("level("); sb.append(i); sb.append(") "); sb.append(" "); sb.append(wifiRxSignalStrengthDescription[i]); formatTimeMs(sb, time/1000); sb.append("("); sb.append(formatRatioLocked(time, whichBatteryRealtime)); sb.append(") "); sb.append(getWifiSignalStrengthCount(i, which)); sb.append("x"); } if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); printControllerActivity(pw, sb, prefix, "WiFi", getWifiControllerActivity(), which); pw.print(prefix); sb.setLength(0); sb.append(prefix); sb.append(" CONNECTIVITY POWER SUMMARY END"); pw.println(sb.toString()); pw.println(""); pw.print(prefix); pw.print(" Bluetooth total received: "); pw.print(formatBytesLocked(btRxTotalBytes)); pw.print(", sent: "); pw.println(formatBytesLocked(btTxTotalBytes)); Loading
core/java/android/os/Debug.java +12 −8 Original line number Diff line number Diff line Loading @@ -1749,21 +1749,25 @@ public final class Debug /** @hide */ public static final int MEMINFO_SLAB = 5; /** @hide */ public static final int MEMINFO_SWAP_TOTAL = 6; public static final int MEMINFO_SLAB_RECLAIMABLE = 6; /** @hide */ public static final int MEMINFO_SWAP_FREE = 7; public static final int MEMINFO_SLAB_UNRECLAIMABLE = 7; /** @hide */ public static final int MEMINFO_ZRAM_TOTAL = 8; public static final int MEMINFO_SWAP_TOTAL = 8; /** @hide */ public static final int MEMINFO_MAPPED = 9; public static final int MEMINFO_SWAP_FREE = 9; /** @hide */ public static final int MEMINFO_VM_ALLOC_USED = 10; public static final int MEMINFO_ZRAM_TOTAL = 10; /** @hide */ public static final int MEMINFO_PAGE_TABLES = 11; public static final int MEMINFO_MAPPED = 11; /** @hide */ public static final int MEMINFO_KERNEL_STACK = 12; public static final int MEMINFO_VM_ALLOC_USED = 12; /** @hide */ public static final int MEMINFO_COUNT = 13; public static final int MEMINFO_PAGE_TABLES = 13; /** @hide */ public static final int MEMINFO_KERNEL_STACK = 14; /** @hide */ public static final int MEMINFO_COUNT = 15; /** * Retrieves /proc/meminfo. outSizes is filled with fields Loading
core/java/android/view/textclassifier/logging/SmartSelectionEventTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ import java.util.UUID; public final class SmartSelectionEventTracker { private static final String LOG_TAG = "SmartSelectEventTracker"; private static final boolean DEBUG_LOG_ENABLED = true; private static final boolean DEBUG_LOG_ENABLED = false; private static final int START_EVENT_DELTA = MetricsEvent.FIELD_SELECTION_SINCE_START; private static final int PREV_EVENT_DELTA = MetricsEvent.FIELD_SELECTION_SINCE_PREVIOUS; Loading
core/java/com/android/internal/util/MemInfoReader.java +2 −2 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ public final class MemInfoReader { * that are mapped in to processes. */ public long getCachedSizeKb() { return mInfos[Debug.MEMINFO_BUFFERS] return mInfos[Debug.MEMINFO_BUFFERS] + mInfos[Debug.MEMINFO_SLAB_RECLAIMABLE] + mInfos[Debug.MEMINFO_CACHED] - mInfos[Debug.MEMINFO_MAPPED]; } Loading @@ -90,7 +90,7 @@ public final class MemInfoReader { * Amount of RAM that is in use by the kernel for actual allocations. */ public long getKernelUsedSizeKb() { return mInfos[Debug.MEMINFO_SHMEM] + mInfos[Debug.MEMINFO_SLAB] return mInfos[Debug.MEMINFO_SHMEM] + mInfos[Debug.MEMINFO_SLAB_UNRECLAIMABLE] + mInfos[Debug.MEMINFO_VM_ALLOC_USED] + mInfos[Debug.MEMINFO_PAGE_TABLES] + mInfos[Debug.MEMINFO_KERNEL_STACK]; } Loading
core/jni/android_os_Debug.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -705,6 +705,8 @@ enum { MEMINFO_CACHED, MEMINFO_SHMEM, MEMINFO_SLAB, MEMINFO_SLAB_RECLAIMABLE, MEMINFO_SLAB_UNRECLAIMABLE, MEMINFO_SWAP_TOTAL, MEMINFO_SWAP_FREE, MEMINFO_ZRAM_TOTAL, Loading Loading @@ -776,6 +778,8 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o "Cached:", "Shmem:", "Slab:", "SReclaimable:", "SUnreclaim:", "SwapTotal:", "SwapFree:", "ZRam:", Loading @@ -792,6 +796,8 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o 7, 6, 5, 13, 11, 10, 9, 5, Loading @@ -801,7 +807,7 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o 12, 0 }; long mem[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; long mem[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; char* p = buffer; while (*p && numFound < (sizeof(tagsLen) / sizeof(tagsLen[0]))) { Loading