pub struct Sizing {
pub since: u64,
pub until: u64,
pub margin: u32,
pub sample_interval: u64,
pub min_jobs: u32,
pub memory_max: Option<u64>,
pub admission: AdmissionPolicy,
pub profiles: Vec<ProfileSizing>,
pub auto: bool,
pub changes: Vec<SizingChange>,
}Expand description
GET /v1/sizing: what the job history says each configured profile needs.
Fields§
§since: u64The start of the history read: since, or the first runner recorded after it.
until: u64When it was computed.
margin: u32The percent added to a sampled peak, [sizing] margin: peaks are sampled every sample_interval
seconds, so a shorter spike between two samples goes unseen.
sample_interval: u64Seconds between two samples of a job’s container.
min_jobs: u32The fewest jobs a profile or job needs before its percentiles become advice, [sizing] min_jobs.
memory_max: Option<u64>The slice’s MemoryMax; None when it is unlimited.
admission: AdmissionPolicy[host] admission, which the advice budgets MemoryMax by.
profiles: Vec<ProfileSizing>Every configured profile, by name.
auto: boolWhether the daemon applies advice itself, [sizing] auto.
changes: Vec<SizingChange>The changes auto sizing made since since, oldest first.
Implementations§
Source§impl Sizing
impl Sizing
Sourcepub fn advice_line(&self, profile: &ProfileSizing) -> String
pub fn advice_line(&self, profile: &ProfileSizing) -> String
One line on what to do with a profile and why, as runnerctl sizing, the dashboard and runnerd doctor
say it, such as lower memory to 2.5G from 7G, its largest peak + 15%; 5 slots fit in the same 14G.
Under measured admission, when jobs wanted more slots, it adds that slots is not bought with caps there.
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.