diff options
| author | Jing Ji <jji@google.com> | 2021-05-04 18:02:56 -0700 |
|---|---|---|
| committer | Jing Ji <jji@google.com> | 2021-05-04 22:31:32 -0700 |
| commit | ec65308e4bae22ceaeeafdb5f98a9d943388ac86 (patch) | |
| tree | 54d2a8359a665281a81d36dc68963b5fa233129a /core/java | |
| parent | 5f1fac6a583554738a2dca9fb6c75e166c06cc37 (diff) | |
Skip STATE_SERVICE_RESTARTING while dumping procstats to statsd
Because it's not a real process state.
Bug: 186438656
Test: atest ProcStatsValidationTests
Test: atest ProcessStatsDumpsysTest
Test: atest CtsIncidentHostTestCases:ProcStatsProtoTest
Test: atest CtsStatsdHostTestCases
Test: atest CtsAppTestCases:ActivityManagerProcessStateTest
Change-Id: I26d170f5acac8434548aa62b439c26141ad99c3e
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/app/procstats/DumpUtils.java | 1 | ||||
| -rw-r--r-- | core/java/com/android/internal/app/procstats/ProcessState.java | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/core/java/com/android/internal/app/procstats/DumpUtils.java b/core/java/com/android/internal/app/procstats/DumpUtils.java index 2785c21baf95..bce0d6076d24 100644 --- a/core/java/com/android/internal/app/procstats/DumpUtils.java +++ b/core/java/com/android/internal/app/procstats/DumpUtils.java @@ -93,7 +93,6 @@ public final class DumpUtils { STATE_LABELS[STATE_BOUND_TOP_OR_FGS] = "Bnd TopFgs"; STATE_LABELS[STATE_FGS] = " Fgs"; STATE_LABELS[STATE_IMPORTANT_FOREGROUND] = " Imp Fg"; - STATE_LABELS[STATE_IMPORTANT_FOREGROUND] = " Imp Fg"; STATE_LABELS[STATE_IMPORTANT_BACKGROUND] = " Imp Bg"; STATE_LABELS[STATE_BACKUP] = " Backup"; STATE_LABELS[STATE_SERVICE] = " Service"; diff --git a/core/java/com/android/internal/app/procstats/ProcessState.java b/core/java/com/android/internal/app/procstats/ProcessState.java index 4bced27cafb4..d259b7fe0782 100644 --- a/core/java/com/android/internal/app/procstats/ProcessState.java +++ b/core/java/com/android/internal/app/procstats/ProcessState.java @@ -1550,6 +1550,10 @@ public final class ProcessState { final int key = mDurations.getKeyAt(i); final int type = SparseMappingTable.getIdFromKey(key); final int aggregatedType = DumpUtils.aggregateCurrentProcessState(type); + if ((type % STATE_COUNT) == STATE_SERVICE_RESTARTING) { + // Skip restarting service state -- that is not actually a running process. + continue; + } long time = mDurations.getValue(key); if (mCurCombinedState == type) { @@ -1563,7 +1567,9 @@ public final class ProcessState { durationByState.put(aggregatedType, time); } } - if (!didCurState && mCurCombinedState != STATE_NOTHING) { + if (!didCurState && mCurCombinedState != STATE_NOTHING + && (mCurCombinedState % STATE_COUNT) != STATE_SERVICE_RESTARTING) { + // Skip restarting service state -- that is not actually a running process. final int aggregatedType = DumpUtils.aggregateCurrentProcessState(mCurCombinedState); int index = durationByState.indexOfKey(aggregatedType); if (index >= 0) { |
