Skip to main content

MetricsStore

Trait MetricsStore 

Source
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§

Source

fn write_batch(&mut self, records: &[MetricRecord]) -> StorageResult<()>

Write a batch of metric records

Source

fn query_range( &self, metric: &Metric, start_ts: u64, end_ts: u64, ) -> StorageResult<Vec<MetricRecord>>

Query metrics by name within a time range

Source

fn query_all(&self, metric: &Metric) -> StorageResult<Vec<MetricRecord>>

Get all records for a metric

Source

fn query_stats(&self, metric: &Metric) -> StorageResult<Option<MetricStats>>

Get summary statistics for a metric

Source

fn count(&self) -> StorageResult<usize>

Get total record count

Source

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".

Implementors§