android13/external/autotest/client/profilers/powertop/powertop.py

41 lines
1.2 KiB
Python

"""
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