Skip to main content

Mountain/Binary/Initialize/RuntimeBuild/
SchedulerConfig.rs

1#![allow(non_snake_case, dead_code)]
2
3//! Echo scheduler tuning knobs. `Default` adapts to the active build
4//! profile: telemetry on under `Telemetry`, log level scales by
5//! `Debug` / `Development`, worker count is `None` (= CPU count).
6
7#[derive(Debug)]
8pub struct Struct {
9	pub WorkerCount:Option<usize>,
10
11	pub EnableMetrics:bool,
12
13	pub LogLevel:log::Level,
14}
15
16impl Default for Struct {
17	fn default() -> Self {
18		Self {
19			WorkerCount:None,
20
21			#[cfg(feature = "Telemetry")]
22			EnableMetrics:true,
23
24			#[cfg(not(feature = "Telemetry"))]
25			EnableMetrics:false,
26
27			#[cfg(feature = "Debug")]
28			LogLevel:log::Level::Debug,
29
30			#[cfg(all(feature = "Development", not(feature = "Debug")))]
31			LogLevel:log::Level::Info,
32
33			#[cfg(not(any(feature = "Debug", feature = "Development")))]
34			LogLevel:log::Level::Warn,
35		}
36	}
37}