pub struct SortKey {
pub metric: &'static str,
pub descending: bool,
}Expand description
One key in a multi-key --sort-by spec. Names a metric from
CTPROF_METRICS or CTPROF_DERIVED_METRICS and
the sort direction for that key. Direction defaults to
descending (largest delta first) so the common operator
request — “show me the biggest regressions first” — is the
unmarked form.
Fields§
§metric: &'static strMetric name. Holds one of the CTPROF_METRICS or
CTPROF_DERIVED_METRICS entries’ name fields
verbatim — parse_sort_by looks up the input string in
either registry and stores the matched &'static str, so
this never carries an allocation. Equality against a
registry name is by content (str::eq); both sides
reference the same &'static str from the registry, so
the byte-by-byte comparison succeeds in O(name.len())
without any heap access. The two registries are disjoint
(the registry_and_derived_names_disjoint test pins
this) so a metric value resolves unambiguously to one
or the other.
descending: boolTrue for descending (largest first), false for ascending (smallest first).
Trait Implementations§
impl Copy for SortKey
impl Eq for SortKey
impl StructuralPartialEq for SortKey
Auto Trait Implementations§
impl Freeze for SortKey
impl RefUnwindSafe for SortKey
impl Send for SortKey
impl Sync for SortKey
impl Unpin for SortKey
impl UnwindSafe for SortKey
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more