pub struct ExpressionEvaluatorMetrics { /* private fields */ }Expand description
Tracks evaluation time for a sequence of expressions.
§Example
Given SQL query: EXPLAIN ANALYZE SELECT a+1, pow(a,2) FROM generate_series(1, 1000000) as t1(a)
This struct holds two time metrics for the projection expressions
a+1 and pow(a,2), respectively.
The output reads:
ProjectionExec: expr=[a@0 + 1 as t1.a + Int64(1), power(CAST(a@0 AS Float64), 2) as pow(t1.a,Int64(2))], metrics=[... expr_0_eval_time=9.23ms, expr_1_eval_time=32.35ms...]
Implementations§
Source§impl ExpressionEvaluatorMetrics
impl ExpressionEvaluatorMetrics
Sourcepub fn new<T>(
metrics: &ExecutionPlanMetricsSet,
partition: usize,
expression_labels: impl IntoIterator<Item = T>,
) -> Self
pub fn new<T>( metrics: &ExecutionPlanMetricsSet, partition: usize, expression_labels: impl IntoIterator<Item = T>, ) -> Self
Create metrics for a collection of expressions.
§Args
- metrics: see
MetricBuilderfor details. - partition: see
MetricBuilderfor details. - expression_labels: unique identifier for each metric, so that the metric
can get aggregated across multiple partitions. It is not the name showed
in the
EXPLAIN ANALYZE, the metric name will beexpr_{idx}_eval_timeaccording to the expression order.
Sourcepub fn scoped_timer(&self, index: usize) -> Option<ScopedTimerGuard<'_>>
pub fn scoped_timer(&self, index: usize) -> Option<ScopedTimerGuard<'_>>
Returns a timer guard for the expression at index, if present.
Trait Implementations§
Source§impl Clone for ExpressionEvaluatorMetrics
impl Clone for ExpressionEvaluatorMetrics
Source§fn clone(&self) -> ExpressionEvaluatorMetrics
fn clone(&self) -> ExpressionEvaluatorMetrics
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ExpressionEvaluatorMetrics
impl RefUnwindSafe for ExpressionEvaluatorMetrics
impl Send for ExpressionEvaluatorMetrics
impl Sync for ExpressionEvaluatorMetrics
impl Unpin for ExpressionEvaluatorMetrics
impl UnwindSafe for ExpressionEvaluatorMetrics
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more