Otis Gospodnetic - actually, I hesitated to add either HdrHistogram or the one from rolling-metrics. The first one doesn't implement exponential decay or at least some form of incremental reset (eg. time-window based), and reset-on-snapshot will never work correctly with multiple reporters. The rolling-metrics package implements exponential decay and much more, but it does it by using multiple partial histograms for each Histogram instance, which concerns me from the point of view of overall memory impact (we create hundreds of metrics per core), background thread mgmt, etc.
So, from my point of view the patch as it is now may be sufficient and maybe we should stop here - it allows you to customize what implementation and parameters of each metric is used, and it allows you to provide your own implementation and evaluate its impact. Please review the patch and let me know what you think.