Skip to main content

Crate use_timeseries_store

Crate use_timeseries_store 

Source
Expand description

§use-timeseries-store

Time-series store modeling primitives for RustUse.

§Experimental

use-timeseries-store is experimental while use-nosql remains below 0.3.0.

§Example

use std::time::{Duration, UNIX_EPOCH};
use use_timeseries_store::{MetricName, SeriesId, TimeSeriesPoint, TimeSeriesValue, Timestamp};

let point = TimeSeriesPoint::new(
    SeriesId::new("host_1"),
    MetricName::new("cpu.usage"),
    Timestamp::new(UNIX_EPOCH + Duration::from_secs(10)),
    TimeSeriesValue::new(0.75),
);

assert_eq!(point.value().value(), 0.75);

§Scope

  • Series, metric, timestamp, point, value, retention, sampling, and aggregation primitives.
  • std::time-based time modeling.

§Non-goals

  • Time-series database clients.
  • Query execution.
  • Chronology or calendar libraries.

§License

Licensed under either Apache-2.0 or MIT.

Structs§

AggregationWindow
An aggregation window duration.
MetricName
A metric name.
RetentionWindow
A retention duration.
SamplingInterval
A sampling interval duration.
SeriesId
A time-series identifier.
TimeSeriesPoint
A single time-series point.
TimeSeriesValue
A time-series numeric value.
Timestamp
A timestamp backed by std::time::SystemTime.