Skip to content

Commit

Permalink
Revert "add possibility to record histogram with weight (uber-go#252)"
Browse files Browse the repository at this point in the history
This reverts commit e2a71ea.
  • Loading branch information
SokolAndrey committed Mar 22, 2024
1 parent 59e7bbf commit 19c5f6c
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 39 deletions.
24 changes: 4 additions & 20 deletions stats.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand All @@ -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
}
Expand All @@ -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 {
Expand Down
7 changes: 0 additions & 7 deletions stats_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}

Expand All @@ -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)
}
15 changes: 3 additions & 12 deletions types.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 19c5f6c

Please sign in to comment.