From d1f5366b5282dfdc6fb48885e9a40f52e4e8df32 Mon Sep 17 00:00:00 2001 From: beorn7 Date: Mon, 13 Apr 2020 15:50:40 +0200 Subject: [PATCH] Fix span offset Signed-off-by: beorn7 --- prometheus/histogram.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/prometheus/histogram.go b/prometheus/histogram.go index 56dd2bf..e7aed2b 100644 --- a/prometheus/histogram.go +++ b/prometheus/histogram.go @@ -473,20 +473,20 @@ func makeSparseBuckets(buckets *sync.Map) *dto.SparseBuckets { sbs := dto.SparseBuckets{} var prevCount uint64 - var prevI int + var nextI int for n, i := range ii { v, _ := buckets.Load(i) count := atomic.LoadUint64(v.(*uint64)) - if n == 0 || i-prevI != 1 { + if n == 0 || i-nextI != 0 { sbs.Span = append(sbs.Span, &dto.SparseBuckets_Span{ - Offset: proto.Int(i - prevI), + Offset: proto.Int(i - nextI), Length: proto.Uint32(1), }) } else { *sbs.Span[len(sbs.Span)-1].Length++ } sbs.Delta = append(sbs.Delta, int64(count)-int64(prevCount)) // TODO(beorn7): Do proper overflow handling. - prevI, prevCount = i, count + nextI, prevCount = i+1, count } return &sbs }