#[non_exhaustive]pub struct RuntimeStats {
pub input_rows: u64,
pub output_rows: u64,
pub cpu_nanos: u64,
pub memory_bytes: u64,
pub spill_bytes: u64,
pub serialized_bytes: u64,
}Expand description
Runtime statistics collected by an executor stage.
These are fed back into AQE rules so the optimizer can re-plan in-flight.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.input_rows: u64Number of input rows processed.
output_rows: u64Number of output rows produced.
cpu_nanos: u64Actual CPU time consumed in nanoseconds.
memory_bytes: u64Peak memory used in bytes.
spill_bytes: u64Bytes spilled to disk.
serialized_bytes: u64Actual bytes written to the shuffle store (Arrow IPC / Parquet on disk).
When non-zero, AQE rules prefer this over memory_bytes for partition
sizing, because shuffle output is compressed/serialized and therefore a
more accurate proxy for network and disk cost. memory_bytes is the
peak in-memory footprint, which can be 2–4× larger than the wire size.
Zero means the value was not collected (older task builds or non-shuffle
tasks), and the rule falls back to memory_bytes.
Trait Implementations§
Source§impl Clone for RuntimeStats
impl Clone for RuntimeStats
Source§fn clone(&self) -> RuntimeStats
fn clone(&self) -> RuntimeStats
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RuntimeStats
impl Debug for RuntimeStats
Source§impl Default for RuntimeStats
impl Default for RuntimeStats
Source§fn default() -> RuntimeStats
fn default() -> RuntimeStats
Returns the “default value” for a type. Read more
impl Eq for RuntimeStats
Source§impl PartialEq for RuntimeStats
impl PartialEq for RuntimeStats
impl StructuralPartialEq for RuntimeStats
Auto Trait Implementations§
impl Freeze for RuntimeStats
impl RefUnwindSafe for RuntimeStats
impl Send for RuntimeStats
impl Sync for RuntimeStats
impl Unpin for RuntimeStats
impl UnsafeUnpin for RuntimeStats
impl UnwindSafe for RuntimeStats
Blanket Implementations§
impl<T> Allocation for T
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request