pub struct JoinOperatorMetrics {Show 19 fields
pub query_id: Option<QueryId>,
pub join_type: String,
pub execution_strategy: String,
pub key_count: usize,
pub residual_predicate: bool,
pub null_equality: String,
pub build_side: String,
pub probe_side: String,
pub build_rows: u64,
pub build_bytes: u64,
pub probe_rows: u64,
pub probe_bytes: u64,
pub hash_table_bytes: u64,
pub filtered_probe_state_bytes: u64,
pub mixed_size_data_bytes: u64,
pub gather_map_bytes: u64,
pub output_reservation_bytes: Option<u64>,
pub output_rows: u64,
pub output_bytes: u64,
}Expand description
Join-specific operator metrics.
Fields§
§query_id: Option<QueryId>Query-wide diagnostic correlation id, when assigned.
join_type: StringJoin type label.
execution_strategy: StringExecution strategy label.
key_count: usizeNumber of equality key pairs.
residual_predicate: boolWhether a residual predicate was present.
null_equality: StringNull-equality policy label.
build_side: StringPlanner orientation used to execute or describe this join.
For reusable hash joins this is the side that owns the hash table. For keyless conditional and cross joins no hash table is built. For those joins the value is an orientation label for comparable metrics, and no physical build artifact backs it.
probe_side: StringThe side opposite build_side in the planner orientation.
build_rows: u64Build-side input row count.
build_bytes: u64Build-side input bytes.
probe_rows: u64Probe-side input row count.
probe_bytes: u64Probe-side input bytes.
hash_table_bytes: u64Device bytes retained by the reusable cuDF join build artifact.
This is a direct cudf observation. For hash joins it is the retained
hash table; for filtered joins it is the retained filtered-join build
artifact. It remains 0 for join paths without a reusable build artifact.
filtered_probe_state_bytes: u64Device bytes retained by a filtered-join probe state.
mixed_size_data_bytes: u64Device bytes retained by a mixed join retained size-data state.
gather_map_bytes: u64Device bytes retained by join gather maps produced for this join.
This is a direct cudf observation over the returned device index columns; no row-count estimate is involved.
output_reservation_bytes: Option<u64>Upper bound of the join output’s materialized bytes, None when the
byte model cannot bound one of its columns.
output_rows: u64Join output row count.
output_bytes: u64Join output bytes.
Implementations§
Trait Implementations§
Source§impl Clone for JoinOperatorMetrics
impl Clone for JoinOperatorMetrics
Source§impl Debug for JoinOperatorMetrics
impl Debug for JoinOperatorMetrics
Source§impl Default for JoinOperatorMetrics
impl Default for JoinOperatorMetrics
impl Eq for JoinOperatorMetrics
Source§impl PartialEq for JoinOperatorMetrics
impl PartialEq for JoinOperatorMetrics
impl StructuralPartialEq for JoinOperatorMetrics
Auto Trait Implementations§
impl Freeze for JoinOperatorMetrics
impl RefUnwindSafe for JoinOperatorMetrics
impl Send for JoinOperatorMetrics
impl Sync for JoinOperatorMetrics
impl Unpin for JoinOperatorMetrics
impl UnsafeUnpin for JoinOperatorMetrics
impl UnwindSafe for JoinOperatorMetrics
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
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
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> ⓘ
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