(
args: ExecArgs,
target: executor::BenchmarkTarget,
poll_results_options: PollResultsOptions,
)
| 52 | } |
| 53 | |
| 54 | fn build_orchestrator_config( |
| 55 | args: ExecArgs, |
| 56 | target: executor::BenchmarkTarget, |
| 57 | poll_results_options: PollResultsOptions, |
| 58 | ) -> Result<OrchestratorConfig> { |
| 59 | let modes = args.shared.resolve_modes()?; |
| 60 | let raw_upload_url = args |
| 61 | .shared |
| 62 | .upload_url |
| 63 | .unwrap_or_else(|| crate::config::DEFAULT_UPLOAD_URL.into()); |
| 64 | let upload_url = Url::parse(&raw_upload_url) |
| 65 | .map_err(|e| anyhow!("Invalid upload URL: {raw_upload_url}, {e}"))?; |
| 66 | |
| 67 | Ok(OrchestratorConfig { |
| 68 | upload_url, |
| 69 | repository_override: args |
| 70 | .shared |
| 71 | .repository |
| 72 | .map(|repo| RepositoryOverride::from_arg(repo, args.shared.provider)) |
| 73 | .transpose()?, |
| 74 | working_directory: args.shared.working_directory, |
| 75 | targets: vec![target], |
| 76 | modes, |
| 77 | instruments: Instruments { mongodb: None }, // exec doesn't support MongoDB |
| 78 | perf_unwinding_mode: args.shared.profiler_run_args.perf.perf_unwinding_mode, |
| 79 | enable_profiler: args.shared.profiler_run_args.resolve_enable_profiler(), |
| 80 | walltime_profiler: args.shared.walltime_profiler, |
| 81 | simulation_tool: args.shared.simulation_tool.unwrap_or_default(), |
| 82 | profile_folder: args.shared.profile_folder, |
| 83 | skip_upload: args.shared.skip_upload, |
| 84 | skip_run: args.shared.skip_run, |
| 85 | skip_setup: args.shared.skip_setup, |
| 86 | allow_empty: args.shared.allow_empty, |
| 87 | go_runner_version: args.shared.go_runner_version, |
| 88 | show_full_output: args.shared.show_full_output, |
| 89 | poll_results_options, |
| 90 | extra_env: HashMap::new(), |
| 91 | fair_sched: args.shared.experimental.experimental_fair_sched, |
| 92 | cycle_estimation: args.shared.experimental.cycle_estimation, |
| 93 | }) |
| 94 | } |
| 95 | |
| 96 | pub async fn run( |
| 97 | args: ExecArgs, |
no test coverage detected