Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/Binary/Initialize/RuntimeBuild/
SchedulerConfig.rs

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