pub struct Sizing {
pub margin: u32,
pub min_jobs: u32,
pub auto: bool,
pub interval: Duration,
pub raise_interval: Duration,
pub max_step: u32,
}Expand description
[sizing]: how runnerctl sizing turns the job history’s peaks into advice, and whether the daemon applies it
itself. Every field has a default.
Fields§
§margin: u32The percent added to the largest sampled memory peak: a container is sampled every 2 s, so a spike between
two samples goes unseen. Default 15. Advice adds at least api::PAGE_CACHE_ROOM.
min_jobs: u32The fewest jobs a profile, or a job of a repository’s workflow, needs before its peaks become advice. Default 10.
auto: boolWhether the daemon writes each profile’s advice into the config itself, within each profile’s
min_memory, max_memory and max_slots. Default off.
interval: DurationThe least time between a change auto sizing makes to one profile and one that lowers anything in it. Default 1 hour: a lowering that went too far is taken back at its first kill (docs/adr/0071).
raise_interval: DurationThe least time between a change auto sizing makes to one profile and one that only raises its memory,
slots or cpus; at most interval, which a longer one counts as. Default 1 hour.
max_step: u32The most a change lowers a profile’s memory or moves its cpus, in percent of them; a raise of memory,
which only a run that met the cap gives, goes straight to the advice. Default 50.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Sizing
impl<'de> Deserialize<'de> for Sizing
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 Sizing
impl StructuralPartialEq for Sizing
Auto Trait Implementations§
impl Freeze for Sizing
impl RefUnwindSafe for Sizing
impl Send for Sizing
impl Sync for Sizing
impl Unpin for Sizing
impl UnsafeUnpin for Sizing
impl UnwindSafe for Sizing
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.