Netflix/rend

Change bucketized histogram buckets to match Atlas buckets

ScottMansfield opened this issue · 2 comments

The current implementation of the bucketized histograms uses a very simple power-of-two bucket scheme. The Atlas metrics system uses a different set of buckets. In order to better utilize the internal Netflix charting tools, we should switch to using the Atlas buckets.

The implementation in Java is found here: https://github.com/Netflix/spectator/blob/master/spectator-api/src/main/java/com/netflix/spectator/api/histogram/PercentileBuckets.java#L64

Might consider using assembly here, too.

https://reviews.llvm.org/D6175

The SSE DIVSS or DIVSD might make this a whole lot faster than a regular DIV, in which case it would need special treatment on an x86.

If I was to do this, I definitely need benchmarks to show it's faster than just basic x / 3.

the assembly was 11ns vs ~13.5ns for the straight Go code. Definitely not worth the effort or maintenance burden.