#[non_exhaustive]pub struct IncrementalSnapshot {
pub captured_ns: u64,
pub monotonic_ns: u64,
pub bytes: Vec<u8>,
}Expand description
One incremental snapshot — opaque raw bytes captured at a particular freeze instant + the wall-clock ts of capture.
“Opaque bytes” because the producer captures BPF state without rendering it. Render is deferred until trigger fires; the failure dump’s renderer parses the buffer through the same pipeline as a regular failure dump.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.captured_ns: u64Wall-clock timestamp at freeze instant (CLOCK_REALTIME ns).
0 when the producer didn’t stamp it (test fixtures only).
monotonic_ns: u64Boot-time (CLOCK_MONOTONIC_RAW) ns at freeze instant.
Co-axial with captured_ns; the dump renderer pairs the
two so the timeline is anchored against both wall-clock
(operator readability) and monotonic (delta math).
bytes: Vec<u8>Raw captured bytes. Shape is producer-defined: typically
the .bss value buffer of the scheduler’s BPF object,
concatenated with a serialized super::scx_walker
snapshot. The renderer treats it as opaque until
trigger time.
Trait Implementations§
Source§impl Clone for IncrementalSnapshot
impl Clone for IncrementalSnapshot
Source§fn clone(&self) -> IncrementalSnapshot
fn clone(&self) -> IncrementalSnapshot
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IncrementalSnapshot
impl Debug for IncrementalSnapshot
Source§impl<'de> Deserialize<'de> for IncrementalSnapshot
impl<'de> Deserialize<'de> for IncrementalSnapshot
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>,
Auto Trait Implementations§
impl Freeze for IncrementalSnapshot
impl RefUnwindSafe for IncrementalSnapshot
impl Send for IncrementalSnapshot
impl Sync for IncrementalSnapshot
impl Unpin for IncrementalSnapshot
impl UnwindSafe for IncrementalSnapshot
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> 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