c40779224f
Fixes #52
34 lines
732 B
Go
34 lines
732 B
Go
package metrics_test
|
|
|
|
import (
|
|
"math"
|
|
"testing"
|
|
|
|
"time"
|
|
|
|
"github.com/go-kit/kit/metrics"
|
|
"github.com/go-kit/kit/metrics/generic"
|
|
)
|
|
|
|
func TestTimerFast(t *testing.T) {
|
|
h := generic.NewSimpleHistogram()
|
|
metrics.NewTimer(h).ObserveDuration()
|
|
|
|
tolerance := 0.050
|
|
if want, have := 0.000, h.ApproximateMovingAverage(); math.Abs(want-have) > tolerance {
|
|
t.Errorf("want %.3f, have %.3f", want, have)
|
|
}
|
|
}
|
|
|
|
func TestTimerSlow(t *testing.T) {
|
|
h := generic.NewSimpleHistogram()
|
|
timer := metrics.NewTimer(h)
|
|
time.Sleep(250 * time.Millisecond)
|
|
timer.ObserveDuration()
|
|
|
|
tolerance := 0.050
|
|
if want, have := 0.250, h.ApproximateMovingAverage(); math.Abs(want-have) > tolerance {
|
|
t.Errorf("want %.3f, have %.3f", want, have)
|
|
}
|
|
}
|