Android power Usage - How to monitor TL;DR: Is there some reasonably time-efficient way to find out what programs cause Android OS Services to drain battery?



On a regular basis I find that some app causes my phone to run hot and drain battery within a few hours while the screen is turned off. While it helps to uninstall all non-essential apps in the worst cases, I still face heavy battery drain after stripping the phone down to those I find most essential - we are speaking here about at least 3 days standby when just lying around at home vs less than 8 hours when used actively for one hour, with active usage draining about 30-40% of the battery life, and background processes draining the rest.

When using builtin battery statistics or any app that reports battery statistics, whether it is by showing details on CPU usage, wakelocks or just some overall battery use estimate, I find the statistics to be pretty much useless: Top of the list is always "Android OS" and, since introduced, Google Services with the next couple of entries, at a fraction of those OS-related listings being apps that I have actually actively used in the foreground for prolonged time. 

Basically, the mishaving apps seem to misbehave by delegating to Operating System services and no App I have yet tried (maybe even due to OS limitations) was able to split out what app has been requesting these services to do work, making battery statistics basically useless. And for trying out each app by "uninstalling, running phone for a while, reinstalling"... frankly, who has THAT amount of time? 

What's more, being unable to identify battery wasters from among the apps that I need installed, I cannot even file bug reports if they are misbehaving on my device. 

Is there some possibility in Android to find out what app is really misbehaving rather than being told "its the OS, give up"?
Not sure if it does what you want to, but I use Quick System Info PRO (free).
In this app, via "Basic Info", you can get to the battery details, and check the "Power Usage". This gives you a break-down on which processes are responsible for power usage in percentages.
I have found it to be the most extensive monitoring application I could find. Also, the Dmesg and Logcat viewer (alos in the app) might give you an indication which messages are exchanged and thus which application/thread is responsible for activity.