You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.2 KiB

"""
What's eating the battery life of my laptop? Why isn't it many more
hours? Which software component causes the most power to be burned?
These are important questions without a good answer... until now.
"""
import time, os
from autotest_lib.client.bin import utils, profiler
class powertop(profiler.profiler):
version = 1
preserve_srcdir = True
# filenames: list of filenames to cat
def setup(self, *args, **dargs):
os.chdir(self.srcdir)
utils.make()
def start(self, test):
self.child_pid = os.fork()
if self.child_pid: # parent
return None
else: # child
powertop = os.path.join(self.srcdir, 'powertop') + ' -d'
outputfile = os.path.join(test.profdir, 'powertop')
while True:
output = open(outputfile, 'a')
output.write(time.asctime() + '\n')
data = utils.system_output('%s >> %s' % (powertop, outputfile))
output.write(data)
output.write('\n=========================\n')
output.close()
def stop(self, test):
os.kill(self.child_pid, 15)
def report(self, test):
return None