Struct datafusion::physical_plan::metrics::Metric [−][src]
pub struct Metric { /* fields omitted */ }
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
Create a new Metric
. Consider using MetricBuilder
rather than this function directly.
pub 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.
What labels are present for this metric?
return a reference to the value of this metric
return a mutable reference to the value of this metric