diff --git a/metrics/meter_test.go b/metrics/meter_test.go
index 0302c947d8d948afb0b7b3db2e567197c0952349..28472253e8a5a59e684589086383d7ceb550b7b8 100644
--- a/metrics/meter_test.go
+++ b/metrics/meter_test.go
@@ -26,6 +26,7 @@ func TestMeterDecay(t *testing.T) {
 		ticker: time.NewTicker(time.Millisecond),
 		meters: make(map[*StandardMeter]struct{}),
 	}
+	defer ma.ticker.Stop()
 	m := newStandardMeter()
 	ma.meters[m] = struct{}{}
 	go ma.tick()
diff --git a/metrics/sample_test.go b/metrics/sample_test.go
index 3250d88857f8c7bb650b63d1a9f1a46642ab4dd4..c9168d3e8203223c1d3489187cd18fa31bb701e2 100644
--- a/metrics/sample_test.go
+++ b/metrics/sample_test.go
@@ -346,6 +346,7 @@ func TestUniformSampleConcurrentUpdateCount(t *testing.T) {
 	quit := make(chan struct{})
 	go func() {
 		t := time.NewTicker(10 * time.Millisecond)
+		defer t.Stop()
 		for {
 			select {
 			case <-t.C: