diff options
Diffstat (limited to 'simpleperf/scripts/api_profiler.py')
-rwxr-xr-x | simpleperf/scripts/api_profiler.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/simpleperf/scripts/api_profiler.py b/simpleperf/scripts/api_profiler.py index 424de698..d39b8e3d 100755 --- a/simpleperf/scripts/api_profiler.py +++ b/simpleperf/scripts/api_profiler.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Copyright (C) 2019 The Android Open Source Project # @@ -33,7 +33,8 @@ import os.path import shutil import zipfile -from utils import AdbHelper, get_target_binary_path, log_exit, log_info, remove +from simpleperf_utils import AdbHelper, get_target_binary_path, log_exit, log_info, remove + def prepare_recording(args): adb = AdbHelper() @@ -41,6 +42,7 @@ def prepare_recording(args): upload_simpleperf_to_device(adb) run_simpleperf_prepare_cmd(adb) + def enable_profiling_on_device(adb, args): android_version = adb.get_android_version() if android_version >= 10: @@ -49,12 +51,14 @@ def enable_profiling_on_device(adb, args): adb.set_property('debug.perf_event_mlock_kb', str(args.max_memory_in_kb[0])) adb.set_property('security.perf_harden', '0') + def upload_simpleperf_to_device(adb): device_arch = adb.get_device_arch() simpleperf_binary = get_target_binary_path(device_arch, 'simpleperf') adb.check_run(['push', simpleperf_binary, '/data/local/tmp']) adb.check_run(['shell', 'chmod', 'a+x', '/data/local/tmp/simpleperf']) + def run_simpleperf_prepare_cmd(adb): adb.check_run(['shell', '/data/local/tmp/simpleperf', 'api-prepare']) @@ -66,6 +70,7 @@ def collect_data(args): download_recording_data(adb, args) unzip_recording_data(args) + def download_recording_data(adb, args): """ download recording data to simpleperf_data.zip.""" upload_simpleperf_to_device(adb) @@ -74,6 +79,7 @@ def download_recording_data(adb, args): adb.check_run(['pull', '/data/local/tmp/simpleperf_data.zip', args.out_dir]) adb.check_run(['shell', 'rm', '-rf', '/data/local/tmp/simpleperf_data']) + def unzip_recording_data(args): zip_file_path = os.path.join(args.out_dir, 'simpleperf_data.zip') with zipfile.ZipFile(zip_file_path, 'r') as zip_fh: @@ -84,10 +90,12 @@ def unzip_recording_data(args): zip_fh.extract(name, args.out_dir) remove(zip_file_path) + class ArgumentHelpFormatter(argparse.ArgumentDefaultsHelpFormatter, argparse.RawDescriptionHelpFormatter): pass + def main(): parser = argparse.ArgumentParser(description=__doc__, formatter_class=ArgumentHelpFormatter) @@ -113,5 +121,6 @@ def main(): args = parser.parse_args() args.func(args) + if __name__ == '__main__': main() |