scepter 0.1.0

Composable primitives for planet-scale time-series routing, indexing, and aggregation.
Documentation
//! Scepter provides composable primitives for large-scale time-series systems:
//! schema-rich keys, lexicographic routing, approximate field-hint indexing,
//! mergeable distributions, ingestion aggregation, and distributed query
//! planning.
//!
//! The crate is inspired by the public Monarch paper, but it is an independent
//! Rust library design intended for observability systems, log search, stream
//! processing, and distributed query engines.

#![forbid(unsafe_code)]
#![deny(missing_debug_implementations)]

pub mod aggregate;
pub mod distribution;
pub mod hint;
pub mod ingest;
pub mod key;
pub mod model;
pub mod query;
pub mod shard;
pub mod standing;

pub use aggregate::{CollectionAggregator, Mergeable, PartialAggregate, Sum};
pub use distribution::{
    Bucket, BucketLayout, CumulativePoint, DeltaWindow, Distribution, DistributionError, Exemplar,
};
pub use hint::{
    ngrams, trigrams, try_ngrams, ExcerptStrategy, FieldHint, FieldHintIndex, FieldPredicate,
    HintError,
};
pub use ingest::{DropPolicy, IngestDecision, IngestRouter, WriteEnvelope};
pub use key::{KeyEncoder, LexicographicKey};
pub use model::{
    Field, FieldValue, LocationResolver, MetricKind, MetricSchema, TargetSchema, TimeSeriesKey,
    ValueKind,
};
pub use query::{
    ExecutionLevel, FanoutPlan, LogicalPlan, PlanNode, PushdownPlanner, QueryFragment,
};
pub use shard::{LoadSample, RangeAssigner, RangeAssignment, RangeLoad, ShardError};
pub use standing::{EvaluatorShard, Schedule, StandingError, StandingQuery};