pub trait MetricsStore: Send + Sync {
// Required methods
fn write_batch(&mut self, records: &[MetricRecord]) -> StorageResult<()>;
fn query_range(
&self,
metric: &Metric,
start_ts: u64,
end_ts: u64,
) -> StorageResult<Vec<MetricRecord>>;
fn query_all(&self, metric: &Metric) -> StorageResult<Vec<MetricRecord>>;
fn query_stats(&self, metric: &Metric) -> StorageResult<Option<MetricStats>>;
fn count(&self) -> StorageResult<usize>;
fn flush(&mut self) -> StorageResult<()>;
}Expand description
Metrics storage backend trait
Required Methods§
Sourcefn write_batch(&mut self, records: &[MetricRecord]) -> StorageResult<()>
fn write_batch(&mut self, records: &[MetricRecord]) -> StorageResult<()>
Write a batch of metric records
Sourcefn query_range(
&self,
metric: &Metric,
start_ts: u64,
end_ts: u64,
) -> StorageResult<Vec<MetricRecord>>
fn query_range( &self, metric: &Metric, start_ts: u64, end_ts: u64, ) -> StorageResult<Vec<MetricRecord>>
Query metrics by name within a time range
Sourcefn query_all(&self, metric: &Metric) -> StorageResult<Vec<MetricRecord>>
fn query_all(&self, metric: &Metric) -> StorageResult<Vec<MetricRecord>>
Get all records for a metric
Sourcefn query_stats(&self, metric: &Metric) -> StorageResult<Option<MetricStats>>
fn query_stats(&self, metric: &Metric) -> StorageResult<Option<MetricStats>>
Get summary statistics for a metric
Sourcefn count(&self) -> StorageResult<usize>
fn count(&self) -> StorageResult<usize>
Get total record count
Sourcefn flush(&mut self) -> StorageResult<()>
fn flush(&mut self) -> StorageResult<()>
Flush pending writes
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".