History log of /frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d2bc2ba778514731e1475d4178fe9fc1d782285f 15-Apr-2016 Joe Onorato <joeo@google.com> Add the wall clock time to dumpsys cpuinfo so it's easier to correlate with the logs.

Bug: 28113068
Change-Id: Ifa90192b0aa3f57ba6928f38199beb5b56bca7e6
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
b786aaa5a7596471b4b278019dfef15e6dccccc1 22-Jan-2016 Thierry Strudel <tstrudel@google.com> Don't assume kernel tick is 100Hz

Bug: 26729731
Change-Id: I094d5fd0e611349becb91d4460bc2e4af255d125
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
7b83b0c75ca929d29a623f31d8c7006d22176b76 05-Jun-2015 Adam Lesinski <adamlesinski@google.com> Update docs to reflect correct time units

Change-Id: Id2757e45e989b148671cf83d51011984e07cd017
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
06af1fac166a83507450b6bbb1f98a8dde68d92e 06-May-2015 Adam Lesinski <adamlesinski@google.com> Parse uid_cputime proc file

Instead of using the ProcessCpuTracker as the source of truth, we
periodically poll the new uid_cputime kernel module for stats
on all UID cpu time.

TODO: Need to tell the kernel when to stop tracking UIDs (aka on package
uninstall).

Change-Id: Id1d251aae23ab53f7acc0aba3bca5118bc2c194a
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
62793e4382b4b0b53d7373d92a62dc4e3ccbde05 09-Mar-2015 Dianne Hackborn <hackbod@google.com> Battery stats issues: fix jiffy handling, print scan counts.

Issue #19431959: Framework incorrectly assumes that kernel
clock_ticks are 10ms

We now retrieve the time of a jiffy from the kernel, and all CPU
times are now handled in milliseconds.

Issue #19571810: Add per-app breakdown of number of WiFi scans
in batterystats checkin data

Added to the report (the information was already being tracked).

Change-Id: If1702d6b9bcf851704129f1811471e68ed576a5d
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
d1eccbea388fde6a575acb4e797efdd07798344a 18-Feb-2015 Dianne Hackborn <hackbod@google.com> Add some detailed data as part of battery history.

Every time the battery level changes, a new extended
detailed use data structure is written to the history.
This currently only contains delta CPU use since the
last detailed entry (total CPU and to three uids), but
it gives us the infrastructure for adding more detailed
data in the future.

A detail entry for regular history looks like:

Details: cpu=15730u+2307s (u0a57=11312u+502s, 1000=2344u+701s, 0=473u+991s)
/proc/stat=15377 usr, 1797 sys, 197 io, 0 irq, 8 sirq, 23103 idle (42.9% of 6m 44s 820ms)

u is user-space cpu time, s is system/kernel time.

The equivalent check-in output is:

9,h,0,Dcpu=15730:2307/10057:11312:502/1000:2344:701/0:473:991
9,h,0,Dpst=15377,1797,197,0,8,23103

Also add a new "unplug" command to the battery service,
to easily put it into a state where it always considers
the device to be running on battery.

Change-Id: Ic76d966f11e592b9dd671879977bf999ebc11eef
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
ccce016fb18b7c42d69edf9b1ade9a05e749eb4e 07-Nov-2014 Jeff Sharkey <jsharkey@android.com> ProcessCpuTracker touching proc is fine.

Otherwise we spew hundreds of StrictMode violations.

Bug: 18261125
Change-Id: I2e5ff697b99f55bb73e806f04dba8384e6f1b935
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
652973fca83c48d8b4622493f10e656b8d86dd17 11-Sep-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17414533: update batterystats occasionally takes a couple...

...hundred milliseconds.

Rework the locking so that no critical paths block on the cpu collection.

Change-Id: Ie615a033f7f8b523b67abee62c581d1a8fce324c
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
306af678a5f1938629e1182b46cc43f2da6e7774 25-Jun-2014 Dianne Hackborn <hackbod@google.com> Fix some problems with proc stats collection.

Also start debugging why we aren't being able to open
/proc files.

Change-Id: I4655904691ac22108c29858cbd01153a251ccbf5
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
8e69257a9c7e9c1781e1f53d8856358ada38921d 11-Sep-2013 Dianne Hackborn <hackbod@google.com> Implement #10749688: Improve low memory reporting

This significantly reworks the logging we do when
all cached processes are killed:

- We now collect the list of processes in-place so we
have a snapshot of exactly when the low memory situation
happened.
- In that snapshot we include the key process state: oom
adj, proc state, adj reasons.
- The report then asynchronously collects pss information
for those processes.
- The ultimate data printed to the log looks like a mix
between the "dumpsys meminfo" and "dumpsys activity"
output. This code no longer uses "dumpsys meminfo"
itself, so some of that data is no longer included,
in particular pss organized by allocation type.

In doing this, I realized that the existing code that is
supposed to run "procstats" is not currently working. And
at that point I realized, really, when we are collecting
this pss data we'd really like to include all those native
processes using ghod-only-knows how much RAM. And guess
what, we have a list of processes available in
ProcessCpuTracker.

So we now also collect and print information for native
processes, and we also do this for "dumpsys meminfo" which
really seems like a good thing when we are printing summaries
of all pss and such.

I also improved the code for reading /proc/meminfo to be
able to load all the interesting fields from there, and
am now printing that as well.

Change-Id: I9e7d13e9c07a8249c7a7e12e5433973b2c0fdc11
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
ae36b236d2b8d040f142bee169742da2f392efaa 04-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10427108: Google+ has long running process

There was a bug in counting the number of starting services
in a process that would cause it to count too many (it would
increment at any state change while the service is started, not
just when starting/stopping).

Also reduce dumpsys output -- only print summaries for old
data. There is probably no utility in printing the long details
of all that data.

Change-Id: I1c1e901b0214c01eb7d071f23166fc6f3702ca67
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java
d2932243e3313b59e7538641731aa98852bc5ac7 06-Aug-2013 Dianne Hackborn <hackbod@google.com> Refactor ProcessStats, ProcessTracker.

ProcessStats is now called ProcessCpuTracker.

ProcessTracker is now ProcessStatsService, and its inner State
class is broken out into a separate top-level ProcessStats class.
This ProcessStats is moved to the framework, so we will be able
to use it elsewhere.

Change-Id: I6a127bcb835b6b474b72647c0b99b82c2137e5c5
/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java