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

Function build_orchestrator_config

src/cli/exec/mod.rs:54–94  ·  view source on GitHub ↗
(
    args: ExecArgs,
    target: executor::BenchmarkTarget,
    poll_results_options: PollResultsOptions,
)

Source from the content-addressed store, hash-verified

52}
53
54fn 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
96pub async fn run(
97 args: ExecArgs,

Callers 1

runFunction · 0.70

Calls 2

resolve_modesMethod · 0.80

Tested by

no test coverage detected