tower/tower-load
Oliver Gould a496fbf72c
Extract tower-load from tower-balance (#285)
The tower-balance crate includes the `Load` and `Instrument` traits,
which are likely useful outside of balancers; and certainly have no
tight coupling with any specific balancer implementation. This change
extracts these protocol-agnostic traits into a dedicated crate.

The `Load` trait includes a latency-aware _PeakEWMA_ load strategy as
well as a simple _PendingRequests_ strategy for latency-agnostic
applications.

The `Instrument` trait is used by both of these strategies to track
in-flight requests without knowing protocol details. It is expected that
protocol-specific crates will provide, for instance, HTTP
time-to-first-byte latency strategies.

A default `NoInstrument` implementation tracks the a request until its
response future is satisfied.

This crate should only be published once tower-balance is published.

Part of https://github.com/tower-rs/tower/issues/286
2019-05-29 10:32:02 -07:00
..
src Extract tower-load from tower-balance (#285) 2019-05-29 10:32:02 -07:00
CHANGELOG.md Extract tower-load from tower-balance (#285) 2019-05-29 10:32:02 -07:00
Cargo.toml Extract tower-load from tower-balance (#285) 2019-05-29 10:32:02 -07:00
LICENSE Extract tower-load from tower-balance (#285) 2019-05-29 10:32:02 -07:00
README.md Extract tower-load from tower-balance (#285) 2019-05-29 10:32:02 -07:00

README.md

Tower Load

Provides strategies for measuring a service's load.

License

This project is licensed under the MIT license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tower by you, shall be licensed as MIT, without any additional terms or conditions.