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	pub EnableMetrics:bool,
11	pub LogLevel:log::Level,
12}
13
14impl Default for Struct {
15	fn default() -> Self {
16		Self {
17			WorkerCount:None,
18			#[cfg(feature = "Telemetry")]
19			EnableMetrics:true,
20			#[cfg(not(feature = "Telemetry"))]
21			EnableMetrics:false,
22			#[cfg(feature = "Debug")]
23			LogLevel:log::Level::Debug,
24			#[cfg(all(feature = "Development", not(feature = "Debug")))]
25			LogLevel:log::Level::Info,
26			#[cfg(not(any(feature = "Debug", feature = "Development")))]
27			LogLevel:log::Level::Warn,
28		}
29	}
30}