Awesome
Statix
Statix is an Elixir client for StatsD-compatible servers. It is focused on speed without sacrificing simplicity, completeness, or correctness.
What makes Statix the fastest library around:
- direct sending to socket <sup>[1]</sup>
- caching of the UDP packet header
- connection pooling to distribute the metric sending
- diligent usage of IO lists
<sup><a name="direct-sending"></a>[1]</sup> In contrast with process-based clients, Statix has lower memory consumption and higher throughput – Statix v1.0.0 does about 876640 counter increments per flush:
<details> <summary>It is possible to measure that yourself.</summary>for _ <- 1..10_000 do
Task.start(fn ->
for _ <- 1..10_000 do
StatixSample.increment("sample", 1)
end
end)
end
Make sure you have StatsD server running to get more realistic results.
</details>See the documentation for detailed usage information.
Installation
Add Statix as a dependency to your mix.exs
file:
defp deps() do
[{:statix, ">= 0.0.0"}]
end
Then run mix deps.get
in your shell to fetch the dependencies.
License
This software is licensed under the ISC license.