a36dc621ef0b86a0bd46f1d4f5a719a466ba1800 |
|
06-Feb-2018 |
Andreas Gampe <agampe@google.com> |
Frameworks: Annotate trivial @GuardedBy in services/core Add @GuardedBy for simple functions that require a single lock and are named XYZLocked. Derived by errorprone. Bug: 73000847 Test: m Test: m javac-check-framework RUN_ERROR_PRONE=true Change-Id: I6993325b11c71a4ec27c21935fb54a954d95455f
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
ed0a3220ceaf344531a6ac948a7aff9021fc8657 |
|
07-Feb-2018 |
Dianne Hackborn <hackbod@google.com> |
Further tuning of PSS collection. We now keep track of a scaling factor of collection for each memory state, and allow that to continually grow as long as the process doesn't come back to it from a new higher memory state. This should allow us to spread out the sample rate for longer-running processes to be much longer, to reduce the frequency of PSS collection. Also moved the decision about when to do a PSS sample of all processes from some internal timing in the activity manager to being tied to procstats data commits. This makes the interval longer, and ensures after each commit we have a good initial sample of memory data for all processes. Bug: 70859548 Test: atest CtsAppTestCases Change-Id: Ia3ea2bc9e2d032d51e46e178e2b86b072af9f1ba
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
6fa646ab95de0967a79bb9a136e75623de2cc808 |
|
29-Jan-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Reduce pss collection amount, improve logging."
|
e17b445b6c813f6f9bc93a5e3811128a197ef50b |
|
10-Jan-2018 |
Dianne Hackborn <hackbod@google.com> |
Reduce pss collection amount, improve logging. Tuned rates that we collect PSS, to reduce how much we do that heavy operation. Added a new way to determine whether a process has changed to a state for the "first" time -- now this is when it has gone to that state for the first time since it was in a lower state. This will reduce the amount of time we consider a process to be first to only when it has previously gone into a higher state than it had before. Keep track of more fine-grained information about why we collect a PSS sample (not just internal, but for a single process, all processes because of a mem state change, all processes because of a poll). Started collecting RSS in various places, so we can start looking at that w.r.t. PSS and see about transitioning to it is a new primary metric. Added logging for many of the places where the system writes its configuration files, so we can more easily see any bad behavior going on in those areas. Added some currently disabled code to read smaps directly instead of using fgets(). Probably won't help, but want tot test. Bug: 70859548 Test: atest CtsAppTestCases Change-Id: I400dba0f3ae9c024df51c946cfa592561028b598
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
676d1ace1cc57d2335bfaabd92284d52d8fc4edf |
|
26-Jan-2018 |
Yi Jin <jinyithu@google.com> |
Clean up the procstats dump enums and change component to use message. Bug: 72415114 Test: manually flashed and run: dumpsys procstats --proto Change-Id: Iea47fa41c04c3c6e8335e040086a0b5d65c22aaf
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
3accca05ddcad9d0b1b313eae49f273e39121d3c |
|
20-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
Add major version code to platform. It turns the version code into almost a 64-bit integer, with the new major part being the upper 32 bits. The only tricky part about this is the backup manager, since it stored 32-bit version codes in its backup data sets. This is dealt with by, when the major version code is not 0, writing MIN_INT as the version code and following that by the full long version code, which we can detect when reading. Note that this makes backup sets containing apps with major version codes incompatible with older versions of the platform. Bug: 64459786 Test: Added in Change-Id: Iab8a682b62103babd6c16a56b8dc1e97d7078658 Change-Id: Ibfffe235bbfcf358b3741abd3f7197fdb063d3f3
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
9680cfae052a37969e4d3febc6a71ffda265030a |
|
16-Sep-2017 |
Yi Jin <jinyithu@google.com> |
Implement procstats dumpsys section Bug: 65690183 Test: tested manually using incident-report tool Change-Id: I0c34e411dba8faf9f311c78701ac8f6bec824277
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
82ba91ddb4fe9d9ff8245e27f70dea64cc20553d |
|
28-Apr-2017 |
Joe Onorato <joeo@google.com> |
Turn off logspam For more information, see https://source.android.com/source/code-style#log-sparingly Bug: 37252687 Test: development/tools/logblame/app_switch_test Test: development/tools/logblame/power_toggle_test Test: development/tools/logblame/medium_idle_test Change-Id: Ie2f6ef33df7b6c1ea976a8180945651ac9482976
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
6df866a8510af2776c48425a361f708ae7f5d7d6 |
|
31-Mar-2017 |
Jeff Sharkey <jsharkey@android.com> |
Enforce PACKAGE_USAGE_STATS for usage data. Some system services are offering package usage data through both public/system APIs and through dump() calls. In principle, usage data hould always be protected with PACKAGE_USAGE_STATS, so start enforcing that. (Otherwise if a user blocked PACKAGE_USAGE_STATS access to an app, that app could still obtain the data via dump() if they held the DUMP permission.) Bottom line, let's respect the user's wishes. Protecting the entire output like this is pretty blunt, but future CLs can add more nuance to the output if desired. Test: cts-tradefed run commandAndExit cts-dev -m CtsSecurityTestCases -t android.security.cts.ServicePermissionsTest Bug: 32806790 Change-Id: I46173562713bea7d89e12a4313c78eb52ea8d77d
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
fe9a53bc45fd0124a876dc0a49680aaf86641d3e |
|
31-Mar-2017 |
Jeff Sharkey <jsharkey@android.com> |
Consistent dump() permission checking. This change introduces new methods on DumpUtils that can check if the caller has DUMP and/or PACKAGE_USAGE_STATS access. It then moves all existing dump() methods to use these checks so that we emit consistent error messages. Test: cts-tradefed run commandAndExit cts-dev -m CtsSecurityTestCases -t android.security.cts.ServicePermissionsTest Bug: 32806790 Change-Id: Iaff6b9506818ee082b1e169c89ebe1001b3bfeca
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
3ed5be3fa7064966df873956f56c3b0b12807ba4 |
|
01-Feb-2017 |
Makoto Onuki <omakoto@google.com> |
Add dumpsys options to procstats to inject screen state Test: CTS CtsDumpsysHostTestCases, not submitted yet though. $ cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsDumpsysHostTestCases -t 'android.dumpsys.cts.ProcessStatsDumpsysTest' Bug 34228624 Change-Id: I9cf7f737624fe9f188956be7ba7485151555bc4b
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
4eb64fdbcf899a81d0a6a04dc3658d03d9df8247 |
|
21-Mar-2016 |
Joe Onorato <joeo@google.com> |
Refactor ProcessStats. - Pull most of the inner classes out into their own files. - Move everything to a new android.app.procstats package. - Move all of the code that was manipulating the big list of longs to use the new SparseMappingTable class rather than doing everything by hand. The logic is unchanged. - Add a sequence number check to SparseMappingTable so when the big list of longs and the individual tables are reset, which happens somewhat independently, we can assert when one of them doesn't get reset.
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
a96b61d931df00ab5744c53a87008a9cce461329 |
|
18-Dec-2014 |
Olawale Ogunwale <ogunwale@google.com> |
am 07bb03c4: Merge "Avoid deadlock between ActivityManagerService and ProcessStatsService." automerge: 5cb6837 * commit '5cb6837f288e3f1e0ff8f6f9b571a85ebb34bca7': Avoid deadlock between ActivityManagerService and ProcessStatsService.
|
1a4b5a4f02e7d8ff8ff645377d97e6062d36aeaa |
|
09-Dec-2014 |
Dianne Hackborn <hackbod@google.com> |
Work on issue #18640385: Add procstats test mode You can now do "adb shell dumpsys procstats --start-testing" to enable high frequency pss sampling. Also improved the low on RAM mem reporting to separate out RAM from memtrack, in case the data we are getting from that is bad. And fixed meminfo --oom to work correctly again. Change-Id: I7af17eab110a82298bd7b0ce381f8fa5c96c1f6a
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
d052a9416ae3f7e42fc1e7de0740021df385ee48 |
|
22-Nov-2014 |
Dianne Hackborn <hackbod@google.com> |
Work on issue #18486438: Reduce size of bugreport output Reduce how much stuff ProcessStats spews, and do collapsing of repeated intent filter targets when dumping IntentResolvers. Also add to pm's checkout output to include shared user ids, and fix output formatting in a few places. Change-Id: Ic9fc6731f0439101ba9343535e66cdbbad47e291
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
61231a5eff65f7123e0d7d9afae447c955ef22b4 |
|
15-Nov-2014 |
riddle_hsu <riddle_hsu@htc.com> |
Avoid deadlock between ActivityManagerService and ProcessStatsService. Root Cause: Case 1 getStatsOverTime(#483) // lock mWriteLock, wait AMS async performWriteState(#269) // lock mPendingWriteLock, wait mWriteLock writeStateLocked(#218) // lock AMS, wait mPendingWriteLock Case 2 getStatsOverTime(#483) // lock mWriteLock, wait AMS writeStateSyncLocked,writeStateLocked(#269) // lock AMS, wait mWriteLock Solution: Reduce nested lock. Others also post the same solution: I437a5cedceb34292a6bd1d9e7610f52b1478e424 Change-Id: Ie9395f3f6359fe59e2282674fcfec9d123e53f25
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
ab4a81b3c625e33d04ae8070fcce6b6baee6522c |
|
10-Oct-2014 |
Dianne Hackborn <hackbod@google.com> |
Improve some docs, fix some debugging. - Add docs to Binder, Messenger, ResultReceier to explain their relation (or lack there-of) to process lifecycle. - Clarify some aspects of process lifecycle for services. - Fix help text of am command. - Fix per-package dumping of battery stats to not include history. - Fix per-package dumping of proc stats to only include aggregated and current stats and fix some formatting. - Fix per-process dumping of meminfo to have an option to interpret the input as a package, so including all processes that are running code of that package. - Fix top-level per-package debug output to correctly include all of these improvements and give them a little more time (10s) to complete for timing out. Change-Id: I2a04c0f862bd47b08329443d722345a13ad9b6e2
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
25e1ecaabbde4741663c8e5a777d9df9b939572c |
|
23-Sep-2014 |
Dianne Hackborn <hackbod@google.com> |
Maybe fix issue #17614177 APR: system process restarting due to infinite loop Also try to get rid of a huge wtf we are seeing across a lot of devices where we incorrectly change real states on a service that is restarting, and get rid of one of the noisier boot logs in the package manager. Change-Id: I2510b6fb082eac3f6168cbd57bc3b70ad006114d
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
f7097a5b697fedb6976774e55a51471405a23c0e |
|
13-May-2014 |
Dianne Hackborn <hackbod@google.com> |
Add kernel and native memory data to procstats. We now collect memory use data in the kernel and native application for aggregation in procstats. This should allows us to do aggregated summaries of how memory use is distributed across the system -- how much is free vs. how much is in use. Fix a bug in how we were tracking per-app version codes: apps that used a shared user id to have multiple packages run in the same process could get their version codes cross-wired. Now we keep track of version codes in the list of packages associated with a process. Bumped the checkin version code to 5, so that we can distinguish checkins that have this corrected data. Also fix a bug in battery stats monitoring radio state. Change-Id: I1c849f2df442df679a34ad7b0ca0c5870bfac8df
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
8472e6189cd4e0520c047bdb28457abc728b373f |
|
24-Jan-2014 |
Dianne Hackborn <hackbod@google.com> |
Add app version codes to procstats. Now the per-package proc stats data is also per-app-version-code. In addition to changing the data structure to have one more SparseArray and passing a version code all over, this also required improving how we reset the stats so that we can prune a multi-package process record back to a single package. Otherwise, as you install updates to apps, the proc stats data would continue to explode as the data for each of those app's processes got turned to a multi-package due to tracking the old and new versions at the same time. This also bumps the checkin version code, since the package entries also include a new field for the app version code. Change-Id: I80de36addb0a75c7b08aef747c6f6c8012d01ee4
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|
49782e46c0eb85a25ae2abcf80880c48dbab5aea |
|
20-Dec-2013 |
Amith Yamasani <yamasani@google.com> |
am 9158825f: Move some system services to separate directories * commit '9158825f9c41869689d6b1786d7c7aa8bdd524ce': Move some system services to separate directories
|
9158825f9c41869689d6b1786d7c7aa8bdd524ce |
|
22-Nov-2013 |
Amith Yamasani <yamasani@google.com> |
Move some system services to separate directories Refactored the directory structure so that services can be optionally excluded. This is step 1. Will be followed by another change that makes it possible to remove services from the build. Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
/frameworks/base/services/core/java/com/android/server/am/ProcessStatsService.java
|