Loading tools/perf/benchmarks +16 −4 Original line number Diff line number Diff line Loading @@ -143,7 +143,7 @@ class Benchmark: return "" def soong_command(self, root): def soong_command(self, root, soong_extra_flags): "Command line args to soong_ui for this benchmark." if self.dumpvars: return [ Loading @@ -154,12 +154,16 @@ class Benchmark: "--abs-var-prefix=abs_var_cache_", ] elif self.modules: return [ command = [ "--build-mode", "--all-modules", f"--dir={root}", "--skip-metrics-upload", ] + self.modules ] if soong_extra_flags: command.append(f"{soong_extra_flags}") command += self.modules return command else: raise Exception("Benchmark must specify dumpvars or modules") Loading Loading @@ -371,11 +375,13 @@ class Runner(): """Run a single benchmark.""" benchmark_log_subdir = self._benchmark_log_dir(lunch, benchmark, iteration) benchmark_log_dir = self._options.LogDir().joinpath(benchmark_log_subdir) soong_extra_flags = self._options.SoongExtraFlags() sys.stderr.write(f"STARTING BENCHMARK: {benchmark.id}\n") sys.stderr.write(f" lunch: {lunch.Combine()}\n") sys.stderr.write(f" iteration: {iteration}\n") sys.stderr.write(f" benchmark_log_dir: {benchmark_log_dir}\n") sys.stderr.write(f" extra_soong_flags: {soong_extra_flags}\n") report = BenchmarkReport(lunch, benchmark, iteration, benchmark_log_subdir) self._reports.append(report) Loading Loading @@ -439,7 +445,8 @@ class Runner(): if not self._options.DryRun(): cmd = [ "build/soong/soong_ui.bash", ] + benchmark.soong_command(self._options.root) ] + benchmark.soong_command(self._options.root, self._options.SoongExtraFlags()) sys.stderr.write(f"STARTING SOONG BUILD {cmd}\n") env = dict(os.environ) env["TARGET_PRODUCT"] = lunch.target_product env["TARGET_RELEASE"] = lunch.target_release Loading Loading @@ -578,6 +585,8 @@ benchmarks: parser.add_argument("--dist-one", action="store_true", help="Copy logs and metrics to the given dist dir. Requires that only" + " one benchmark be supplied. Postroll steps will be skipped.") parser.add_argument("--soong-extra-flags", type=str, default="", help="Extra flags passed to soong command.") self._args = parser.parse_args() Loading Loading @@ -656,6 +665,9 @@ benchmarks: def List(self): return self._args.list def SoongExtraFlags(self): return self._args.soong_extra_flags def BenchmarkIds(self) : return [benchmark.id for benchmark in self._benchmarks] Loading Loading
tools/perf/benchmarks +16 −4 Original line number Diff line number Diff line Loading @@ -143,7 +143,7 @@ class Benchmark: return "" def soong_command(self, root): def soong_command(self, root, soong_extra_flags): "Command line args to soong_ui for this benchmark." if self.dumpvars: return [ Loading @@ -154,12 +154,16 @@ class Benchmark: "--abs-var-prefix=abs_var_cache_", ] elif self.modules: return [ command = [ "--build-mode", "--all-modules", f"--dir={root}", "--skip-metrics-upload", ] + self.modules ] if soong_extra_flags: command.append(f"{soong_extra_flags}") command += self.modules return command else: raise Exception("Benchmark must specify dumpvars or modules") Loading Loading @@ -371,11 +375,13 @@ class Runner(): """Run a single benchmark.""" benchmark_log_subdir = self._benchmark_log_dir(lunch, benchmark, iteration) benchmark_log_dir = self._options.LogDir().joinpath(benchmark_log_subdir) soong_extra_flags = self._options.SoongExtraFlags() sys.stderr.write(f"STARTING BENCHMARK: {benchmark.id}\n") sys.stderr.write(f" lunch: {lunch.Combine()}\n") sys.stderr.write(f" iteration: {iteration}\n") sys.stderr.write(f" benchmark_log_dir: {benchmark_log_dir}\n") sys.stderr.write(f" extra_soong_flags: {soong_extra_flags}\n") report = BenchmarkReport(lunch, benchmark, iteration, benchmark_log_subdir) self._reports.append(report) Loading Loading @@ -439,7 +445,8 @@ class Runner(): if not self._options.DryRun(): cmd = [ "build/soong/soong_ui.bash", ] + benchmark.soong_command(self._options.root) ] + benchmark.soong_command(self._options.root, self._options.SoongExtraFlags()) sys.stderr.write(f"STARTING SOONG BUILD {cmd}\n") env = dict(os.environ) env["TARGET_PRODUCT"] = lunch.target_product env["TARGET_RELEASE"] = lunch.target_release Loading Loading @@ -578,6 +585,8 @@ benchmarks: parser.add_argument("--dist-one", action="store_true", help="Copy logs and metrics to the given dist dir. Requires that only" + " one benchmark be supplied. Postroll steps will be skipped.") parser.add_argument("--soong-extra-flags", type=str, default="", help="Extra flags passed to soong command.") self._args = parser.parse_args() Loading Loading @@ -656,6 +665,9 @@ benchmarks: def List(self): return self._args.list def SoongExtraFlags(self): return self._args.soong_extra_flags def BenchmarkIds(self) : return [benchmark.id for benchmark in self._benchmarks] Loading