diff options
author | Yan Wang <yawanng@google.com> | 2019-10-09 16:26:54 -0700 |
---|---|---|
committer | Yan Wang <yawanng@google.com> | 2019-10-09 17:08:21 -0700 |
commit | 7c76fcacce74da4d83fa3c9850bb1e21af547fee (patch) | |
tree | 605a12c0b088f52d1dc9564e07a3a3e0889b1b2b /startop/scripts/app_startup/app_startup_runner.py | |
parent | fe708d72ec761e1fad9586c460f4f3ae2509c01b (diff) |
startop: Only do perfetto trace when needed.
Bug: 141324324
Test: python app_startup_runner.py --package com.google.android.GoogleCamera --readahead fadvise --inodes ../tmp.txt -d
Test: python app_startup_runner.py --package com.google.android.GoogleCamera --readahead cold --inodes ../tmp.txt -d
Change-Id: Icbf9e253cd3cf9517dca89c8d50efd21012105a9
Diffstat (limited to 'startop/scripts/app_startup/app_startup_runner.py')
-rwxr-xr-x | startop/scripts/app_startup/app_startup_runner.py | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/startop/scripts/app_startup/app_startup_runner.py b/startop/scripts/app_startup/app_startup_runner.py index fa1c4e601f83..25ee6f7368c8 100755 --- a/startop/scripts/app_startup/app_startup_runner.py +++ b/startop/scripts/app_startup/app_startup_runner.py @@ -233,13 +233,17 @@ def execute_run_using_perfetto_trace(collector_info, simulate: bool, inodes_path: str, timeout: int, - compiler_type: CompilerType) -> DataFrame: + compiler_type: CompilerType, + requires_trace_collection: bool) -> DataFrame: """ Executes run based on perfetto trace. """ - passed, perfetto_trace_file = run_perfetto_collector(collector_info, - timeout, - simulate) - if not passed: - raise RuntimeError('Cannot run perfetto collector!') + if requires_trace_collection: + passed, perfetto_trace_file = run_perfetto_collector(collector_info, + timeout, + simulate) + if not passed: + raise RuntimeError('Cannot run perfetto collector!') + else: + perfetto_trace_file = tempfile.NamedTemporaryFile() with perfetto_trace_file: for combos in run_combos: @@ -271,7 +275,8 @@ def execute_run_combos( simulate: bool, inodes_path: str, timeout: int, - compiler_type: CompilerType): + compiler_type: CompilerType, + requires_trace_collection: bool): # nothing will work if the screen isn't unlocked first. cmd_utils.execute_arbitrary_command([_UNLOCK_SCREEN_SCRIPT], timeout, @@ -284,7 +289,8 @@ def execute_run_combos( simulate, inodes_path, timeout, - compiler_type) + compiler_type, + requires_trace_collection) def gather_results(commands: Iterable[Tuple[DataFrame]], key_list: List[str], value_list: List[Tuple[str, ...]]): @@ -369,11 +375,13 @@ def main(): CollectorPackageInfo) print_utils.debug_print_gen("grouped run combinations: ", grouped_combos()) + requires_trace_collection = any(i in _TRACING_READAHEADS for i in opts.readaheads) exec = execute_run_combos(grouped_combos(), opts.simulate, opts.inodes, opts.timeout, - opts.compiler_type) + opts.compiler_type, + requires_trace_collection) results = gather_results(exec, _COMBINATORIAL_OPTIONS, combos()) |