a214b8e4746bca4ac48cc91dcc34cf6b5d7f5a8a
in this change: * new "concurrent map" API using RwLock<HashMap> optimized for frequent reads. * we no longer have a concurrent map of log handlers, we instead have a log handler containing a concurrent map from origins to circular buffers * we have a general concept of a "Limit" now which replaces AlertRule * A route consists of a filter, plus any number of limits, which can be per-origin limits or global limits * The set of routes is disjunctive, while the filters and limits are conjunctive * Limits can also apply per source location * Different types of rate limiters are unified under the "Limiter" abstraction * The log handler also has a set of overall limiters that can be applied at the end * This means we can relatively easily express disjunctions of conjunctions I think the route structure will also be relatively easy to express in toml
Description
Use signal to monitor and control your service
702 KiB
Languages
Rust
100%