From 19c5f6c790ea8294c7a1b771a1be51f3e582f49a Mon Sep 17 00:00:00 2001 From: Andrei Sokol Date: Fri, 22 Mar 2024 14:32:52 -0400 Subject: [PATCH] Revert "add possibility to record histogram with weight (#252)" This reverts commit e2a71ea0ab75eb085f65b326434cd2c1b8748955. --- stats.go | 24 ++++-------------------- stats_test.go | 7 ------- types.go | 15 +++------------ 3 files changed, 7 insertions(+), 39 deletions(-) diff --git a/stats.go b/stats.go index 8e5c7540..204c3067 100644 --- a/stats.go +++ b/stats.go @@ -364,7 +364,7 @@ func (h *histogram) cachedReport() { } } -func (h *histogram) recordValueWithWeight(value float64, weight int64) { +func (h *histogram) RecordValue(value float64) { if h.htype != valueHistogramType { return } @@ -376,18 +376,10 @@ func (h *histogram) recordValueWithWeight(value float64, weight int64) { idx := sort.Search(len(h.buckets), func(i int) bool { return h.buckets[i].valueUpperBound >= value }) - h.samples[idx].counter.Inc(weight) -} - -func (h *histogram) RecordValue(value float64) { - h.recordValueWithWeight(value, 1) -} - -func (h *histogram) RecordValueWithWeight(value float64, weight int64) { - h.recordValueWithWeight(value, weight) + h.samples[idx].counter.Inc(1) } -func (h *histogram) recordDurationWithWeight(value time.Duration, weight int64) { +func (h *histogram) RecordDuration(value time.Duration) { if h.htype != durationHistogramType { return } @@ -399,15 +391,7 @@ func (h *histogram) recordDurationWithWeight(value time.Duration, weight int64) idx := sort.Search(len(h.buckets), func(i int) bool { return h.buckets[i].durationUpperBound >= value }) - h.samples[idx].counter.Inc(weight) -} - -func (h *histogram) RecordDuration(value time.Duration) { - h.recordDurationWithWeight(value, 1) -} - -func (h *histogram) RecordDurationWithWeight(value time.Duration, weight int64) { - h.recordDurationWithWeight(value, weight) + h.samples[idx].counter.Inc(1) } func (h *histogram) Start() Stopwatch { diff --git a/stats_test.go b/stats_test.go index 2826087f..7d29e90e 100644 --- a/stats_test.go +++ b/stats_test.go @@ -139,14 +139,11 @@ func TestHistogramValueSamples(t *testing.T) { for i := 0; i < 5; i++ { h.RecordValue(offset + rand.Float64()*10) } - offset = 60 - h.RecordValueWithWeight(offset+rand.Float64()*10, 2) h.report(h.name, h.tags, r) assert.Equal(t, 3, r.valueSamples[10.0]) assert.Equal(t, 5, r.valueSamples[60.0]) - assert.Equal(t, 2, r.valueSamples[70.0]) assert.Equal(t, buckets, r.buckets) } @@ -166,14 +163,10 @@ func TestHistogramDurationSamples(t *testing.T) { h.RecordDuration(offset + time.Duration(rand.Float64()*float64(10*time.Millisecond))) } - offset = 60 * time.Millisecond - h.RecordDurationWithWeight(offset+ - time.Duration(rand.Float64()*float64(10*time.Millisecond)), 2) h.report(h.name, h.tags, r) assert.Equal(t, 3, r.durationSamples[10*time.Millisecond]) assert.Equal(t, 5, r.durationSamples[60*time.Millisecond]) - assert.Equal(t, 2, r.durationSamples[70*time.Millisecond]) assert.Equal(t, buckets, r.buckets) } diff --git a/types.go b/types.go index 3a3e98f0..1a15971d 100644 --- a/types.go +++ b/types.go @@ -30,10 +30,9 @@ import ( // all emitted values have a given prefix or set of tags. // // IMPORTANT: When using Prometheus reporters, users must take care to -// -// not create metrics from both parent scopes and subscopes -// that have the same metric name but different tag keys, -// as metric allocation will panic. +// not create metrics from both parent scopes and subscopes +// that have the same metric name but different tag keys, +// as metric allocation will panic. type Scope interface { // Counter returns the Counter object corresponding to the name. Counter(name string) Counter @@ -92,18 +91,10 @@ type Histogram interface { // Will use the configured value buckets for the histogram. RecordValue(value float64) - // RecordValueWithWeight records a specific value directly with a weight. - // Will use the configured value buckets for the histogram. - RecordValueWithWeight(value float64, weight int64) - // RecordDuration records a specific duration directly. // Will use the configured duration buckets for the histogram. RecordDuration(value time.Duration) - // RecordDurationWithWeight records a specific duration directly with a weight. - // Will use the configured duration buckets for the histogram. - RecordDurationWithWeight(value time.Duration, weight int64) - // Start gives you a specific point in time to then record a duration. // Will use the configured duration buckets for the histogram. Start() Stopwatch