This is a thin binding to the HdrHistogram_c library, itself a port of HdrHistogram. Aside from the normal Rust safety features, the main embellishment is an implementation of the Iterator trait for the various ways to iterate the histogram.
It also uses u64
instead of a signed type for values, as the library does not allow values to be
less than 1. However it also means that any value greater than 2^63 will be treated as negative and
rejected.
I've re-implemented the test suite in Rust (cargo test) to exercise the API, and it all passes.
TODO: * Finish basic API * Complete iterator items * anything missing
First install HdrHistogramc: ```sh $ git clone https://github.com/HdrHistogram/HdrHistogramc $ cd HdrHistogramc $ cmake -D CMAKEBUILD_TYPE=release . $ make
```
You may need to run ldconfig after installing to make sure the installed library is found properly.
This is on crates.io, so using it is just a matter of adding this to your Cargo.toml:
[dependencies]
hdrhistogram = "*"
The API is not at all stable right now.
Jeremy Fitzhardinge jeremy@goop.org