summaryrefslogtreecommitdiffstats
path: root/init/perfboot.py
diff options
context:
space:
mode:
Diffstat (limited to 'init/perfboot.py')
-rwxr-xr-xinit/perfboot.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/init/perfboot.py b/init/perfboot.py
index 583d640ef..b0efb1183 100755
--- a/init/perfboot.py
+++ b/init/perfboot.py
@@ -40,6 +40,7 @@ $ ./perfboot.py --iterations=30 -v --output=data.tsv --tags=eventtags.txt
import argparse
import atexit
import cStringIO
+import glob
import inspect
import logging
import math
@@ -408,9 +409,17 @@ def parse_args():
'event tags are read. Every line contains one event '
'tag and the last event tag is used to detect that '
'the device has finished booting.')
+ parser.add_argument('--apk-dir', help='Specify the directory which contains '
+ 'APK files to be installed before measuring boot time.')
return parser.parse_args()
+def install_apks(device, apk_dir):
+ for apk in glob.glob(os.path.join(apk_dir, '*.apk')):
+ print 'Installing: ' + apk
+ device.install(apk, replace=True)
+
+
def main():
args = parse_args()
if args.verbose:
@@ -425,6 +434,9 @@ def main():
device.get_prop('ro.build.version.incremental'))
check_dm_verity_settings(device)
+ if args.apk_dir:
+ install_apks(device, args.apk_dir)
+
record_list = []
event_tags = filter_event_tags(read_event_tags(args.tags), device)
init_perf(device, args.output, record_list, event_tags)