A high-performance, high-precision multithreaded StatsD server written in Rust with clustering and fault tolerance.
Bioyino is a high-performance, high-precision StatsD server written in Rust, designed to aggregate and forward metrics to backends like Carbon in distributed environments. It solves the problem of reliable metric collection at scale, processing millions of metrics per second with clustering and fault tolerance. The server supports all basic metric types and ensures data integrity through replication and memory-safe implementation.
DevOps engineers, SREs, and developers who need a reliable, scalable StatsD server for monitoring and metrics aggregation in production environments, particularly those handling high-volume data streams.
Developers choose Bioyino for its combination of Rust's performance and safety, precise metric handling without approximations, and built-in clustering for fault tolerance. It is proven in production at scale, offering a robust open-source alternative to other StatsD implementations.
High performance and high-precision multithreaded StatsD server
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Processes millions of metrics per second with low CPU and memory footprint, as proven in production at Avito handling ~4M metrics per second on 3 nodes.
Implements metric replication across all cluster nodes, ensuring data integrity even during node failures, with only the leader forwarding to the backend.
Uses 64-bit floats and stores full metric sets in memory without approximation algorithms, guaranteeing accurate aggregation for metrics like timers.
Written in Rust, providing inherent safety against common vulnerabilities such as buffer overflows, as highlighted in the philosophy.
Requires GNU/Linux for its multimessage mode, limiting deployment on other operating systems like Windows or macOS.
Building from source necessitates installing the capnp compiler and managing Rust dependencies, which adds steps compared to pre-packaged alternatives.
Primarily designed for Carbon backends, with no built-in mention of support for other time-series databases, potentially requiring custom extensions.