pub struct AutoPlan {
pub every: u64,
pub interval: u64,
pub raise_interval: u64,
pub max_step: u32,
pub next: Vec<SizingChange>,
pub held: Vec<SizingHold>,
pub blocked: Option<String>,
pub refused: Vec<SizingRefused>,
}Expand description
What auto sizing will do: its rules, the changes its next look would make as the history and config are now, and the profiles a recent change holds.
Fields§
§every: u64Seconds between two looks of the daemon’s.
interval: u64[sizing] interval: the least time between a change to one profile and one that lowers it, in seconds.
raise_interval: u64[sizing] raise_interval: the least time between a change to one profile and one that only raises it, in
seconds.
max_step: u32[sizing] max_step: the most one change moves a profile’s memory, in percent of it.
next: Vec<SizingChange>The changes the next look would make, in the order it would make them; at is when this was worked out.
None of them is made while blocked says why.
held: Vec<SizingHold>The profiles a change in the last interval holds from some change, the hold that ends first first.
blocked: Option<String>Why no look changes anything until the owner acts, as when the file on disk differs from the config runnerd
runs with. None when the next look may write next.
refused: Vec<SizingRefused>The profiles whose jobs the CPU cap holds back and whose cpus the next look cannot raise, and why.
Implementations§
Source§impl AutoPlan
impl AutoPlan
Sourcepub fn refusal(&self, profile: &str) -> Option<String>
pub fn refusal(&self, profile: &str) -> Option<String>
The cpus raise profile’s jobs ask for and the next look cannot make, as a line of its own beside what it
does next, which can still change its memory or slots: No CPU raise: 3 runs of … the cap holds them back; ….
Sourcepub fn profile_plan(&self, profile: &str, now: u64) -> ProfilePlan<'_>
pub fn profile_plan(&self, profile: &str, now: u64) -> ProfilePlan<'_>
What it does next with profile at now: a hold whose time has passed holds nothing, however old the plan.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AutoPlan
impl<'de> Deserialize<'de> for AutoPlan
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for AutoPlan
impl StructuralPartialEq for AutoPlan
Auto Trait Implementations§
impl Freeze for AutoPlan
impl RefUnwindSafe for AutoPlan
impl Send for AutoPlan
impl Sync for AutoPlan
impl Unpin for AutoPlan
impl UnsafeUnpin for AutoPlan
impl UnwindSafe for AutoPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.