Skip to content

lexmag/statix

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Statix

Build Status Hex Version

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 [1]
  • caching of the UDP packet header
  • connection pooling to distribute the metric sending
  • diligent usage of IO lists

[1] 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:

Statix

It is possible to measure that yourself.
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.

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.

About

Fast and reliable Elixir client for StatsD-compatible servers

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages