浏览代码

Style upgrade.

Richard Crowley 12 年之前
父节点
当前提交
8523b2a8a1
共有 3 个文件被更改,包括 81 次插入85 次删除
  1. 3 3
      ewma.go
  2. 44 44
      sample.go
  3. 34 38
      sample_test.go

+ 3 - 3
ewma.go

@@ -22,9 +22,9 @@ type EWMA interface {
 // to manage uncounted events.
 type StandardEWMA struct {
 	alpha     float64
-	init bool
-	mutex *sync.Mutex
-	rate float64
+	init      bool
+	mutex     *sync.Mutex
+	rate      float64
 	uncounted int64
 }
 

+ 44 - 44
sample.go

@@ -68,47 +68,9 @@ func (s *ExpDecaySample) Update(v int64) {
 
 // Return all the values in the sample.
 func (s *ExpDecaySample) Values() []int64 {
-	c := make(chan []int64)
-	s.out <- c
-	return <-c
-}
-
-// An individual sample.
-type expDecaySample struct {
-	k float64
-	v int64
-}
-
-// A min-heap of samples.
-type expDecaySampleHeap []expDecaySample
-
-func (q expDecaySampleHeap) Len() int {
-	return len(q)
-}
-
-func (q expDecaySampleHeap) Less(i, j int) bool {
-	return q[i].k < q[j].k
-}
-
-func (q expDecaySampleHeap) Swap(i, j int) {
-	q[i], q[j] = q[j], q[i]
-}
-
-func (q *expDecaySampleHeap) Push(x interface{}) {
-	q_ := *q
-	n := len(q_)
-	q_ = q_[0 : n+1]
-	q_[n] = x.(expDecaySample)
-	*q = q_
-}
-
-func (q *expDecaySampleHeap) Pop() interface{} {
-	q_ := *q
-	n := len(q_)
-	i := q_[n-1]
-	q_ = q_[0 : n-1]
-	*q = q_
-	return i
+	ch := make(chan []int64)
+	s.out <- ch
+	return <-ch
 }
 
 // Receive inputs and send outputs.  Count and save each input value,
@@ -191,9 +153,9 @@ func (s *UniformSample) Update(v int64) {
 
 // Return all the values in the sample.
 func (s *UniformSample) Values() []int64 {
-	c := make(chan []int64)
-	s.out <- c
-	return <-c
+	ch := make(chan []int64)
+	s.out <- ch
+	return <-ch
 }
 
 // Receive inputs and send outputs.  Count and save each input value at a
@@ -219,3 +181,41 @@ func (s *UniformSample) arbiter() {
 		}
 	}
 }
+
+// An individual sample.
+type expDecaySample struct {
+	k float64
+	v int64
+}
+
+// A min-heap of samples.
+type expDecaySampleHeap []expDecaySample
+
+func (q expDecaySampleHeap) Len() int {
+	return len(q)
+}
+
+func (q expDecaySampleHeap) Less(i, j int) bool {
+	return q[i].k < q[j].k
+}
+
+func (q *expDecaySampleHeap) Pop() interface{} {
+	q_ := *q
+	n := len(q_)
+	i := q_[n-1]
+	q_ = q_[0 : n-1]
+	*q = q_
+	return i
+}
+
+func (q *expDecaySampleHeap) Push(x interface{}) {
+	q_ := *q
+	n := len(q_)
+	q_ = q_[0 : n+1]
+	q_[n] = x.(expDecaySample)
+	*q = q_
+}
+
+func (q expDecaySampleHeap) Swap(i, j int) {
+	q[i], q[j] = q[j], q[i]
+}

+ 34 - 38
sample_test.go

@@ -1,12 +1,35 @@
 package metrics
 
 import (
-	"math/rand"
 	"runtime"
 	"testing"
 	"time"
 )
 
+func BenchmarkExpDecaySample257(b *testing.B) {
+	benchmarkSample(b, NewExpDecaySample(257, 0.015))
+}
+
+func BenchmarkExpDecaySample514(b *testing.B) {
+	benchmarkSample(b, NewExpDecaySample(514, 0.015))
+}
+
+func BenchmarkExpDecaySample1028(b *testing.B) {
+	benchmarkSample(b, NewExpDecaySample(1028, 0.015))
+}
+
+func BenchmarkUniformSample257(b *testing.B) {
+	benchmarkSample(b, NewUniformSample(257))
+}
+
+func BenchmarkUniformSample514(b *testing.B) {
+	benchmarkSample(b, NewUniformSample(514))
+}
+
+func BenchmarkUniformSample1028(b *testing.B) {
+	benchmarkSample(b, NewUniformSample(1028))
+}
+
 func TestExpDecaySample10(t *testing.T) {
 	s := NewExpDecaySample(100, 0.99)
 	for i := 0; i < 10; i++ {
@@ -131,44 +154,17 @@ func TestUniformSampleIncludesTail(t *testing.T) {
 }
 
 func benchmarkSample(b *testing.B, s Sample) {
-	var m runtime.MemStats
-	var p [2]uint64
-
-	runtime.ReadMemStats(&m)
-	p[0] = m.PauseTotalNs
-
+	b.StopTimer()
+	var memStats runtime.MemStats
+	var pauseTotalNs uint64
+	runtime.ReadMemStats(&memStats)
+	pauseTotalNs = memStats.PauseTotalNs
+	b.StartTimer()
 	for i := 0; i < b.N; i++ {
-		s.Update(rand.Int63())
+		s.Update(1)
 	}
-
+	b.StopTimer()
 	runtime.GC()
-
-	runtime.ReadMemStats(&m)
-	p[1] = m.PauseTotalNs
-
-	b.Logf("GC cost: %d ns/op", int(p[1]-p[0])/b.N)
-}
-
-func BenchmarkExpDecaySample257(b *testing.B) {
-	benchmarkSample(b, NewExpDecaySample(257, 0.015))
-}
-
-func BenchmarkExpDecaySample514(b *testing.B) {
-	benchmarkSample(b, NewExpDecaySample(514, 0.015))
-}
-
-func BenchmarkExpDecaySample1028(b *testing.B) {
-	benchmarkSample(b, NewExpDecaySample(1028, 0.015))
-}
-
-func BenchmarkUniformSample257(b *testing.B) {
-	benchmarkSample(b, NewUniformSample(257))
-}
-
-func BenchmarkUniformSample514(b *testing.B) {
-	benchmarkSample(b, NewUniformSample(514))
-}
-
-func BenchmarkUniformSample1028(b *testing.B) {
-	benchmarkSample(b, NewUniformSample(1028))
+	runtime.ReadMemStats(&memStats)
+	b.Logf("GC cost: %d ns/op", int(memStats.PauseTotalNs-pauseTotalNs)/b.N)
 }