There are several really great apps available to track usage of your device's processor and battery. For example, I use Bstats which shows nice graphs of aggregate processor use and battery drain/charge over time. With it, I was able to see that something was causing lots of processor and battery use at 2AM when I am always asleep. Sadly, Bstats was not able to tell me what app(s) were running at that time so I went looking for an app that would. I was ultimately unable to find an app that would show me this information - all showed only aggregate statistics for usage rather than usage at specific points over time. So I wrote Process Tracker.
Once installed, Process Tracker runs at device start-up and then in the background once every minute (Pro users may change this to once every 2, 3, 4, or 5 minutes). At each interval, Process Tracker runs a routine that reveals the top processor consumers on your device at that time. Process Tracker parses and stores this information for later use. When you tap Process Tracker's icon, the app will retrieve the stored information and display it in the form of a graph which you can then explore.
Depending upon how you configure Process Finder, many data points must be retrieved and graphed. But under no circumstances will more than 3 days' worth of data be retained on your device. Even this amount can result in graphs that are rather busy and hard to interpret. So you can choose to filter the retained data in several ways:
* You can filter by utilization of your device's processor - choose to graph only those processes which have had a maximum processor utilization greater than or equal to a percentage you specify.
* You can view the list of processes for which readings have been taken and Pro users can select those to be graphed and those you do not wish graphed.
* Pro users can filter by time - choose to see only the last 24 hours, last 48 hours, or all of the data.
* Pro users can filter by process type.
It is important to note that filtering does not modify any of the retained data, it only modifies the graphical view of the data. You may, at any time, choose to clear the data entirely if you wish. Filtering and other options can be set from the app's menu.
The displayed graph can be zoomed via pinch-to-zoom but using the on-screen zoom controls is faster and the preferred way to go. You can also drag the graph side-to-side and up-down to view aspects of the graph in more detail.
When more than 10 processes are graphed, no on-screen legend is shown because it is just too busy and takes up too much room. In this case, to decipher which colored line maps to which process, use the menu to See and Select Processes. This will present the full list of those processes for which information has been stored. The processes currently displayed as a result of your filter criteria are marked with a *, From this list, Pro users can choose the processes to include in the graph. For convenience, the menu on this screen offers Check All and Uncheck All options after which you can more easily remove or add the processes you want graphed.
A status bar is shown above the graph to remind you of the filter criteria currently in use. All filter criteria are retained and applied until you choose to reset them individually or all-at-once. Filter criteria are also reset when you choose to clear all the stored data.
I want to credit the authors of AChartEngine for their excellent graphing package without which I never would have undertaken this project. I also want to thank the authors of Bstats and the other apps I have used which pointed out the need for Process Tracker.
Please note that this app has been tested on only a few devices. So please use the email link provided on this page to contact the developer if you have any issues. Do not try to communicate via comments in ratings as it is not a good medium for that purpose.
1.3.1 - Update to fix minor bug. Now requires Android 3+. Older versions are not supported.