[erlang-questions] [ANN] hdr_histogram_erl 0.1.0 High Dynamic Range Histogram Library for Erlang/OTP

Darach Ennis <>
Fri Nov 14 21:22:46 CET 2014


Where: https://github.com/darach/hdr_histogram_erl

What:

The HDR histogram library is an Erlang native interface function wrapper of
Mike Barker's C port of Gil Tene's HDR Histogram java utility.

Details here: http://hdrhistogram.org/

A high dynamic range histogram is one that supports recording and analyzing
sampled data points across a configurable range with configurable precision
within that range. The precision is expressed as a number of significant
figures in the recording.

This HDR histogram implementation is designed for recording histograms of
value measurements in latency sensitive environments. Although the native
recording times can be as low as single digit nanoseconds there is added
overhead in this wrapper/binding due to both the frontend overhead of
converting from native C to the NIF interface, and the erlang overhead
incurred calling into the NIFs. C'est la vie, I suppose.

A distinct advantage of this histogram implementation is constant space and
recording (time) overhead with an ability to recycle and reset instances
whilst reclaiming already allocated space for reuse thereby reducing
allocation cost and garbage collection overhead in the BEAM where repeated
or continuous usage is likely. For example, a gen_server recording metrics
continuously and resetting and logging histogram dumps on a periodic or
other windowed basis.

API docs here -
https://github.com/darach/hdr_histogram_erl/blob/master/doc/hdr_histogram.md

There are simple Erlang and Elixir examples in the repository.

Enjoy!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20141114/2f2b02e4/attachment.html>


More information about the erlang-questions mailing list