MCPcopy Create free account
hub / github.com/CodSpeedHQ/codspeed / build_orchestrator_config

Function build_orchestrator_config

src/cli/run/mod.rs:92–133  ·  view source on GitHub ↗
(
    args: RunArgs,
    targets: Vec<executor::BenchmarkTarget>,
    poll_results_options: PollResultsOptions,
)

Source from the content-addressed store, hash-verified

90}
91
92fn build_orchestrator_config(
93 args: RunArgs,
94 targets: Vec<executor::BenchmarkTarget>,
95 poll_results_options: PollResultsOptions,
96) -> Result<OrchestratorConfig> {
97 let instruments = Instruments::try_from(&args)?;
98 let modes = args.shared.resolve_modes()?;
99 let raw_upload_url = args
100 .shared
101 .upload_url
102 .unwrap_or_else(|| crate::config::DEFAULT_UPLOAD_URL.into());
103 let upload_url = Url::parse(&raw_upload_url)
104 .map_err(|e| anyhow!("Invalid upload URL: {raw_upload_url}, {e}"))?;
105
106 Ok(OrchestratorConfig {
107 upload_url,
108 repository_override: args
109 .shared
110 .repository
111 .map(|repo| RepositoryOverride::from_arg(repo, args.shared.provider))
112 .transpose()?,
113 working_directory: args.shared.working_directory,
114 targets,
115 modes,
116 instruments,
117 perf_unwinding_mode: args.shared.profiler_run_args.perf.perf_unwinding_mode,
118 enable_profiler: args.shared.profiler_run_args.resolve_enable_profiler(),
119 walltime_profiler: args.shared.walltime_profiler,
120 simulation_tool: args.shared.simulation_tool.unwrap_or_default(),
121 profile_folder: args.shared.profile_folder,
122 skip_upload: args.shared.skip_upload,
123 skip_run: args.shared.skip_run,
124 skip_setup: args.shared.skip_setup,
125 allow_empty: args.shared.allow_empty,
126 go_runner_version: args.shared.go_runner_version,
127 show_full_output: args.shared.show_full_output,
128 poll_results_options,
129 extra_env: HashMap::new(),
130 fair_sched: args.shared.experimental.experimental_fair_sched,
131 cycle_estimation: args.shared.experimental.cycle_estimation,
132 })
133}
134
135use crate::project_config::{Target, WalltimeOptions};
136/// Determines the execution mode based on CLI args and project config

Callers 1

runFunction · 0.70

Calls 2

resolve_modesMethod · 0.80

Tested by

no test coverage detected