diff options
| author | 2022-12-19 16:08:56 +0000 | |
|---|---|---|
| committer | 2022-12-22 09:41:33 +0000 | |
| commit | b51fd80f2bac4a4a3569c6d930befd6bef78b8be (patch) | |
| tree | 89130f9285fd01dd0d75b1c1e28b565ec6561d0d | |
| parent | 90e81227d9857041b6fdbc8d6ed411504bcf3602 (diff) | |
Limit the number of dumped processes in the CPU usage section in dropbox files to 10
Test: tested on a local device
Bug: 261435148
Change-Id: I28cc04fec464dd6515311508459b1e1305aefed8
| -rw-r--r-- | core/java/com/android/internal/os/ProcessCpuTracker.java | 18 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/AppProfiler.java | 3 |
2 files changed, 17 insertions, 4 deletions
diff --git a/core/java/com/android/internal/os/ProcessCpuTracker.java b/core/java/com/android/internal/os/ProcessCpuTracker.java index 0df006d3a9bf..65655b7b5a66 100644 --- a/core/java/com/android/internal/os/ProcessCpuTracker.java +++ b/core/java/com/android/internal/os/ProcessCpuTracker.java @@ -841,7 +841,19 @@ public class ProcessCpuTracker { return sw.toString(); } - final public String printCurrentState(long now) { + /** + * Returns current CPU state with all the processes as a String, sorted by load + * in descending order. + */ + public final String printCurrentState(long now) { + return printCurrentState(now, Integer.MAX_VALUE); + } + + /** + * Returns current CPU state with the top {@code maxProcessesToDump} highest load + * processes as a String, sorted by load in descending order. + */ + public final String printCurrentState(long now, int maxProcessesToDump) { final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); buildWorkingProcs(); @@ -883,8 +895,8 @@ public class ProcessCpuTracker { if (DEBUG) Slog.i(TAG, "totalTime " + totalTime + " over sample time " + (mCurrentSampleTime-mLastSampleTime)); - int N = mWorkingProcs.size(); - for (int i=0; i<N; i++) { + int dumpedProcessCount = Math.min(maxProcessesToDump, mWorkingProcs.size()); + for (int i = 0; i < dumpedProcessCount; i++) { Stats st = mWorkingProcs.get(i); printProcessCPU(pw, st.added ? " +" : (st.removed ? " -": " "), st.pid, st.name, (int)st.rel_uptime, diff --git a/services/core/java/com/android/server/am/AppProfiler.java b/services/core/java/com/android/server/am/AppProfiler.java index b7de57f8fc71..b4e2a0368857 100644 --- a/services/core/java/com/android/server/am/AppProfiler.java +++ b/services/core/java/com/android/server/am/AppProfiler.java @@ -2310,7 +2310,8 @@ public class AppProfiler { void printCurrentCpuState(StringBuilder report, long time) { synchronized (mProcessCpuTracker) { - report.append(mProcessCpuTracker.printCurrentState(time)); + // Only print the first 10 processes + report.append(mProcessCpuTracker.printCurrentState(time, /* maxProcesses= */10)); } } |