am 73a523d9: am e5c1208e: Merge "am: Increase dropbox buffer size to 256KB (from 128KB)" into klp-dev
* commit '73a523d9bfe28ca0b1b5d5875176290b00865d14':
am: Increase dropbox buffer size to 256KB (from 128KB)
diff --git a/services/java/com/android/server/Watchdog.java b/services/java/com/android/server/Watchdog.java
index 8054788..e17f42d 100644
--- a/services/java/com/android/server/Watchdog.java
+++ b/services/java/com/android/server/Watchdog.java
@@ -67,7 +67,8 @@
static final int WAITED_HALF = 2;
static final int OVERDUE = 3;
- static final String[] NATIVE_STACKS_OF_INTEREST = new String[] {
+ // Which native processes to dump into dropbox's stack traces
+ public static final String[] NATIVE_STACKS_OF_INTEREST = new String[] {
"/system/bin/mediaserver",
"/system/bin/sdcard",
"/system/bin/surfaceflinger"
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index b62d630..db49358 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -21,6 +21,7 @@
import static com.android.internal.util.XmlUtils.readLongAttribute;
import static com.android.internal.util.XmlUtils.writeIntAttribute;
import static com.android.internal.util.XmlUtils.writeLongAttribute;
+import static com.android.server.Watchdog.NATIVE_STACKS_OF_INTEREST;
import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT;
import static org.xmlpull.v1.XmlPullParser.START_TAG;
@@ -322,6 +323,9 @@
static final String[] EMPTY_STRING_ARRAY = new String[0];
+ // How many bytes to write into the dropbox log before truncating
+ static final int DROPBOX_MAX_SIZE = 256 * 1024;
+
/** Run all ActivityStacks through this */
ActivityStackSupervisor mStackSupervisor;
@@ -3687,7 +3691,17 @@
}
}
- // Next measure CPU usage.
+ // Next collect the stacks of the native pids
+ if (nativeProcs != null) {
+ int[] pids = Process.getPidsForCommands(nativeProcs);
+ if (pids != null) {
+ for (int pid : pids) {
+ Debug.dumpNativeBacktraceToFile(pid, tracesPath);
+ }
+ }
+ }
+
+ // Lastly, measure CPU usage.
if (processCpuTracker != null) {
processCpuTracker.init();
System.gc();
@@ -3719,19 +3733,9 @@
}
}
}
-
} finally {
observer.stopWatching();
}
-
- if (nativeProcs != null) {
- int[] pids = Process.getPidsForCommands(nativeProcs);
- if (pids != null) {
- for (int pid : pids) {
- Debug.dumpNativeBacktraceToFile(pid, tracesPath);
- }
- }
- }
}
final void logAppTooSlow(ProcessRecord app, long startTime, String msg) {
@@ -3895,7 +3899,8 @@
final ProcessCpuTracker processCpuTracker = new ProcessCpuTracker(true);
- File tracesFile = dumpStackTraces(true, firstPids, processCpuTracker, lastPids, null);
+ File tracesFile = dumpStackTraces(true, firstPids, processCpuTracker, lastPids,
+ NATIVE_STACKS_OF_INTEREST);
String cpuInfo = null;
if (MONITOR_CPU_USAGE) {
@@ -9826,7 +9831,8 @@
}
if (logFile != null) {
try {
- sb.append(FileUtils.readTextFile(logFile, 128 * 1024, "\n\n[[TRUNCATED]]"));
+ sb.append(FileUtils.readTextFile(logFile, DROPBOX_MAX_SIZE,
+ "\n\n[[TRUNCATED]]"));
} catch (IOException e) {
Slog.e(TAG, "Error reading " + logFile, e);
}