A high-performance Erlang StatsD client optimized for fast metrics collection with compile-time parse transform.
statsderl is a high-performance Erlang client library for the StatsD protocol, enabling developers to send application metrics like counters, gauges, and timings to StatsD servers. It solves the problem of efficient metrics collection in Erlang systems by optimizing performance and reducing runtime overhead through compile-time transformations.
Erlang developers and teams building monitored applications who need a reliable, high-performance way to collect and send metrics to StatsD-compatible monitoring systems.
Developers choose statsderl for its performance optimizations, compile-time parse transform that minimizes runtime cost, and straightforward API that integrates seamlessly into Erlang applications without sacrificing speed or reliability.
High-Performance Erlang StatsD Client
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Engineered for maximum throughput and low latency when sending metrics, as emphasized in the README's performance optimization features, ensuring minimal overhead in production.
Uses parse transform to pre-compute sample rates and StatsD packets at compile time, reducing runtime overhead, which is a key feature highlighted in the documentation.
Supports environment variables for hostname, port, pool size, and key prefixes with options for hostname or node name, making it easy to integrate into various deployment environments.
Provides functions for counters, gauges (with increment/decrement), and timing measurements with sample rate support, covering essential StatsD metric types as shown in the examples.
Only supports the StatsD protocol, with no built-in capabilities for other metrics systems like Prometheus or InfluxDB, which may require additional tooling or client libraries.
The README provides basic examples and a link to an external function index, lacking in-depth tutorials, error handling guidance, or best practices, which could hinder adoption.
Missing support for StatsD extensions such as histograms or sets, which are commonly used in modern monitoring setups for more detailed and flexible metric collection.