I’ve started using an app called Battery Graph (marketplace link) by Morgan H to try to monitor changes in my battery drain. It’s a background app that collects battery charge info over time and displays a graph on device. That makes it easy to spot major changes to discharge rate. Say if you install a new widget some time early afternoon, and later that evening you see the discharge rate increased some time after lunch, you know the widget is doing something heavy and impacting your total battery life.

In the menu area there’s even an option to export the set of data to CSV so you can suck it into a spreadsheet or use it to drive some of your own tools. Would be great actually if there was an option to record a list of running processes along with the battery status info, so that it could attempt to spot which processes are sucking up the most resource.