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.