pub struct Metric { /* private fields */ }
Expand description
Something that tracks a value of interest (metric) of a DataFusion
ExecutionPlan
execution.
Typically Metric
s are not created directly, but instead
are created using MetricBuilder
or methods on
ExecutionPlanMetricsSet
.
use datafusion_physical_plan::metrics::*;
let metrics = ExecutionPlanMetricsSet::new();
assert!(metrics.clone_inner().output_rows().is_none());
// Create a counter to increment using the MetricBuilder
let partition = 1;
let output_rows = MetricBuilder::new(&metrics)
.output_rows(partition);
// Counter can be incremented
output_rows.add(13);
// The value can be retrieved directly:
assert_eq!(output_rows.value(), 13);
// As well as from the metrics set
assert_eq!(metrics.clone_inner().output_rows(), Some(13));
Implementations§
Source§impl Metric
impl Metric
Sourcepub fn new(value: MetricValue, partition: Option<usize>) -> Metric
pub fn new(value: MetricValue, partition: Option<usize>) -> Metric
Create a new Metric
. Consider using MetricBuilder
rather than this function directly.
Sourcepub fn new_with_labels(
value: MetricValue,
partition: Option<usize>,
labels: Vec<Label>,
) -> Metric
pub fn new_with_labels( value: MetricValue, partition: Option<usize>, labels: Vec<Label>, ) -> Metric
Create a new Metric
. Consider using MetricBuilder
rather than this function directly.
Sourcepub fn with_label(self, label: Label) -> Metric
pub fn with_label(self, label: Label) -> Metric
Add a new label to this metric
Sourcepub fn value(&self) -> &MetricValue
pub fn value(&self) -> &MetricValue
Return a reference to the value of this metric
Sourcepub fn value_mut(&mut self) -> &mut MetricValue
pub fn value_mut(&mut self) -> &mut MetricValue
Return a mutable reference to the value of this metric
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Metric
impl !RefUnwindSafe for Metric
impl Send for Metric
impl Sync for Metric
impl Unpin for Metric
impl !UnwindSafe for Metric
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> 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