From MozillaWiki
Jump to: navigation, search

Some Terminology

Meter-based (manual) power model - A model built using a power meter.
Battery-based power model - A model built using knowledge of battery discharge behavior, build-in voltage sensors and the average power consumption resulting from placing components into different power states.
Online power model generation - Power model generation based on the influence of the power management and activity states of hardware components on system power consumption.
Online power estimation - Power use estimation done by software using some power model.

Important Points

  • A power model is necessary because it is difficult to tell whether a particular power draw surge is a result of wifi data transfer, number of cycles per second of the cpu going up, GPS being turned on, or another reason.
  • The variation between power consumption of various components for different types of phones is significant. Therefore a power model will have to be generated for each new phone that we want to test. We currently have an implementation that was generated for the G1, G2 and Nexus One (see PowerTutor below)

Note: PowerTutor's power model was built on HTC G1, HTC G2 and Nexus one. It will run on other versions of the GPhone, but when used with phones other than the above phone models, power consumption estimates will be rough.

Doesn't work at all on: Galaxy Nexus, GT-i9020
Main Paper Accurate Online Power Estimation and Automatic Battery Behavior Based Power Model Generation for Smartphones(
Quick Summary

Other related papers
Background Paper -
Green Mining (With Firefox Tests) -

Rough Example of Data
Description:This test involves a phone startup, it sitting idle, fennec starting up, sitting idle, a past webpage load and another website visit. The reason this data is rough is because it was done by hand on a device that PowerTutor's model was generated for.
Early power.png

Example of actual power measurement of Nexus Galaxy
Description:This test involves a Nexus Galaxy boot, fennec starting up, sitting idle, and then the UAlberta webpage was browsed, the browser closed and the phone turned off. This was done by physically measuring the output of the battery.


  • Is being test accurately only on the G1, G2 and Nexus One a deal breaker? If so, we would have to pick another device and use the Main Paper above to generate a power model for it and code up an implementation similar to PowerTutor's. Thankfully we have the source code for it!
  • Right now I am manually starting PowerTutor and then running RoboCop tests, then stopping PowerTutor and transfering a log to a machine on which I run an analysis script. Ideally I could fully automate the process by running setup and teardown Robotium-style scripts.

Next Steps

  • Right now we automate only on tegra boards that are on full AC power. According to Clint Talbert (ctalbert), once he has the s1s2 stuff live (don't know what s1s2 is), we can look at testing this on real devices on a per-nightly basis.
  • I am looking to provide insightful, reproducible power usage estimates for various Fennec operations over the next few days. In particular, Fennec with sync on vs without sync.
  • [PowerTutor with phone profiles]