Expand description
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.
Re-exports§
pub use aggregate::CollectionAggregator;pub use aggregate::Mergeable;pub use aggregate::PartialAggregate;pub use aggregate::Sum;pub use arrow::finalized_u64_buckets_to_record_batch;pub use arrow::query_health_to_record_batch;pub use arrow::replica_candidates_to_record_batch;pub use collect::AdmissionWindow;pub use collect::BucketedAggregator;pub use collect::CollectionError;pub use collect::DeltaPoint;pub use collect::FinalizedBucket;pub use collect::MaxReducer;pub use collect::MergeReducer;pub use collect::MinReducer;pub use collect::Reducer;pub use collect::SumReducer;pub use compressed::NumericFieldHintIndex;pub use distribution::Bucket;pub use distribution::BucketLayout;pub use distribution::CumulativePoint;pub use distribution::DeltaWindow;pub use distribution::Distribution;pub use distribution::DistributionError;pub use distribution::Exemplar;pub use hint::ngrams;pub use hint::trigrams;pub use hint::try_ngrams;pub use hint::ExcerptStrategy;pub use hint::FieldHint;pub use hint::FieldHintIndex;pub use hint::FieldPredicate;pub use hint::HintError;pub use ingest::DropPolicy;pub use ingest::IngestDecision;pub use ingest::IngestRouter;pub use ingest::WriteEnvelope;pub use key::KeyEncoder;pub use key::LexicographicKey;pub use model::Field;pub use model::FieldValue;pub use model::LocationResolver;pub use model::MetricKind;pub use model::MetricSchema;pub use model::TargetSchema;pub use model::TimeSeriesKey;pub use model::ValueKind;pub use query::ExecutionLevel;pub use query::FanoutPlan;pub use query::LogicalPlan;pub use query::PlanNode;pub use query::PushdownPlanner;pub use query::QueryFragment;pub use reliability::ChildIssue;pub use reliability::IssueKind;pub use reliability::QueryHealth;pub use reliability::ReplicaCandidate;pub use reliability::ReplicaQuality;pub use reliability::ReplicaResolver;pub use reliability::ReplicaState;pub use reliability::ResolvedRange;pub use shard::LoadSample;pub use shard::RangeAssigner;pub use shard::RangeAssignment;pub use shard::RangeLoad;pub use shard::ShardError;pub use standing::EvaluatorShard;pub use standing::Schedule;pub use standing::StandingError;pub use standing::StandingQuery;pub use wire::from_cbor;pub use wire::to_cbor;pub use wire::WireDeltaPoint;pub use wire::WireError;pub use wire::WireFinalizedBucket;pub use wire::from_cbor_zstd;pub use wire::to_cbor_zstd;pub use wire::zstd_compress;pub use wire::zstd_decompress;
Modules§
- aggregate
- Distributed aggregation traits and collection aggregation helpers.
- arrow
- Optional Apache Arrow batch interchange helpers.
- collect
- Time-bucketed collection aggregation with admission windows. Time-bucketed collection aggregation primitives.
- compressed
- Optional compressed field-hint indexes.
- distribution
- Distribution-valued metric primitives.
- hint
- Field-hint indexing and excerpt generation.
- ingest
- Ingest routing primitives.
- key
- Lexicographic key encoding.
- model
- Schema and logical time-series model types.
- query
- Logical query planning and pushdown primitives.
- reliability
- Query reliability primitives for replica choice and partial-result health. Query reliability primitives.
- shard
- Lexicographic range sharding.
- standing
- Standing-query scheduling and evaluator sharding.
- wire
- Optional CBOR and Zstd wire-format helpers.