Struct datafusion::physical_plan::metrics::Metric
source · pub struct Metric { /* private fields */ }
Expand description
Something that tracks a value of interest (metric) of a DataFusion
super::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>) -> Self
pub fn new(value: MetricValue, partition: Option<usize>) -> Self
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>
) -> Self
pub fn new_with_labels(
value: MetricValue,
partition: Option<usize>,
labels: Vec<Label>
) -> Self
Create a new Metric
. Consider using MetricBuilder
rather than this function directly.
sourcepub fn with_label(self, label: Label) -> Self
pub fn with_label(self, label: Label) -> Self
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