#stats #interval #metrics #telemetry #statistics

tic

a high-performance stats library focused on rates and latencies from timestamped events

28 releases (6 breaking)

Uses old Rust 2015

0.6.0 Jul 6, 2018
0.4.0 Mar 18, 2018
0.3.0 Nov 17, 2017
0.2.2 Jul 13, 2017
0.0.3 Jul 22, 2016

#209 in Profiling


Used in 2 crates

MIT/Apache

59KB
1.5K SLoC

tic - time interval counts and statistics

a high-performance stats library focused on rates and latencies from timestamped events

conduct-badge travis-badge downloads-badge release-badge license-badge

Code of Conduct

NOTE: All conversations and contributions to this project shall adhere to the Code of Conduct

Usage

The API documentation of this library can be found at docs.rs/tic

Performance and Example

Performance is a top-priority. To test performance, we use tic to benchmark itself.

cargo run --release --example benchmark -- --help
cargo run --release --example benchmark

Features

  • high throughput - millions of samples per second
  • latched histogram - for analyzing the full distribution of sample lengths
  • heatmaps - to generate distribution traces and waterfalls
  • meters - to expose readings for client usage
  • http metrics - simple metrics on http for scraping and monitoring, Prometheus compatible
  • generic - channel type is generic, and used to label the type of sample
  • flexible - per channel stats are accessible by registering appropriate Interests

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~8.5MB
~134K SLoC