Browse Source

Fix #12: switch to Go 1 standard time.Duration.

It's about time.
Richard Crowley 12 years ago
parent
commit
0c73e02247
8 changed files with 25 additions and 28 deletions
  1. 5 5
      cmd/metrics-bench/metrics-bench.go
  2. 6 6
      cmd/metrics-example/metrics-example.go
  3. 2 2
      debug.go
  4. 2 2
      graphite.go
  5. 2 5
      json.go
  6. 3 3
      log.go
  7. 2 2
      runtime.go
  8. 3 3
      syslog.go

+ 5 - 5
cmd/metrics-bench/metrics-bench.go

@@ -9,11 +9,11 @@ import (
 func main() {
 	r := metrics.NewRegistry()
 	for i := 0; i < 10000; i++ {
-//		r.Register(fmt.Sprintf("%d", i), metrics.NewCounter())
-//		r.Register(fmt.Sprintf("%d", i), metrics.NewGauge())
-//		r.Register(fmt.Sprintf("%d", i), metrics.NewHistogram(metrics.NewUniformSample(1028)))
-//		r.Register(fmt.Sprintf("%d", i), metrics.NewHistogram(metrics.NewExpDecaySample(1028, 0.015)))
-		r.Register(fmt.Sprintf("%d", i), metrics.NewMeter())
+		r.Register(fmt.Sprintf("counter-%d", i), metrics.NewCounter())
+		r.Register(fmt.Sprintf("gauge-%d", i), metrics.NewGauge())
+		r.Register(fmt.Sprintf("histogram-uniform-%d", i), metrics.NewHistogram(metrics.NewUniformSample(1028)))
+		r.Register(fmt.Sprintf("histogram-exp-%d", i), metrics.NewHistogram(metrics.NewExpDecaySample(1028, 0.015)))
+		r.Register(fmt.Sprintf("meter-%d", i), metrics.NewMeter())
 	}
 	time.Sleep(600e9)
 }

+ 6 - 6
cmd/metrics-example/metrics-example.go

@@ -111,17 +111,17 @@ func main() {
 	}
 
 	metrics.RegisterDebugGCStats(r)
-	go metrics.CaptureDebugGCStats(r, 5)
+	go metrics.CaptureDebugGCStats(r, 5e9)
 
 	metrics.RegisterRuntimeMemStats(r)
-	go metrics.CaptureRuntimeMemStats(r, 5)
+	go metrics.CaptureRuntimeMemStats(r, 5e9)
 
-	metrics.Log(r, 60, log.New(os.Stderr, "metrics: ", log.Lmicroseconds))
+	metrics.Log(r, 60e9, log.New(os.Stderr, "metrics: ", log.Lmicroseconds))
 
 	/*
-	w, err := syslog.Dial("unixgram", "/dev/log", syslog.LOG_INFO, "metrics")
-	if nil != err { log.Fatalln(err) }
-	metrics.Syslog(r, 60, w)
+		w, err := syslog.Dial("unixgram", "/dev/log", syslog.LOG_INFO, "metrics")
+		if nil != err { log.Fatalln(err) }
+		metrics.Syslog(r, 60e9, w)
 	*/
 
 }

+ 2 - 2
debug.go

@@ -9,10 +9,10 @@ var gcStats debug.GCStats
 
 // Capture new values for the Go garbage collector statistics exported in
 // debug.GCStats.  This is designed to be called as a goroutine.
-func CaptureDebugGCStats(r Registry, interval int64) {
+func CaptureDebugGCStats(r Registry, d time.Duration) {
 	for {
 		CaptureDebugGCStatsOnce(r)
-		time.Sleep(time.Duration(int64(1e9) * int64(interval)))
+		time.Sleep(d)
 	}
 }
 

+ 2 - 2
graphite.go

@@ -7,7 +7,7 @@ import (
 	"time"
 )
 
-func Graphite(r Registry, interval int, prefix string, addr *net.TCPAddr) {
+func Graphite(r Registry, d time.Duration, prefix string, addr *net.TCPAddr) {
 	for {
 		now := time.Now().Unix()
 		conn, err := net.DialTCP("tcp", nil, addr)
@@ -58,6 +58,6 @@ func Graphite(r Registry, interval int, prefix string, addr *net.TCPAddr) {
 			}
 			w.Flush()
 		})
-		time.Sleep(time.Duration(int64(1e9) * int64(interval)))
+		time.Sleep(d)
 	}
 }

+ 2 - 5
json.go

@@ -4,14 +4,12 @@ import (
 	"encoding/json"
 )
 
-// Output each metric in the given registry periodically using the given
-// logger.  The interval is to be given in seconds.
+// MarshalJSON returns a byte slice containing a JSON representation of all
+// the metrics in the Registry.
 func (r StandardRegistry) MarshalJSON() ([]byte, error) {
 	data := make(map[string]map[string]interface{})
-
 	r.Each(func(name string, i interface{}) {
 		values := make(map[string]interface{})
-
 		switch m := i.(type) {
 		case Counter:
 			values["count"] = m.Count()
@@ -55,7 +53,6 @@ func (r StandardRegistry) MarshalJSON() ([]byte, error) {
 			values["15m.rate"] = m.Rate15()
 			values["mean.rate"] = m.RateMean()
 		}
-
 		data[name] = values
 	})
 	return json.Marshal(data)

+ 3 - 3
log.go

@@ -6,8 +6,8 @@ import (
 )
 
 // Output each metric in the given registry periodically using the given
-// logger.  The interval is to be given in seconds.
-func Log(r Registry, interval int, l *log.Logger) {
+// logger.
+func Log(r Registry, d time.Duration, l *log.Logger) {
 	for {
 		r.Each(func(name string, i interface{}) {
 			switch m := i.(type) {
@@ -60,6 +60,6 @@ func Log(r Registry, interval int, l *log.Logger) {
 				l.Printf("  mean rate:   %12.2f\n", m.RateMean())
 			}
 		})
-		time.Sleep(time.Duration(int64(1e9) * int64(interval)))
+		time.Sleep(d)
 	}
 }

+ 2 - 2
runtime.go

@@ -12,10 +12,10 @@ var (
 
 // Capture new values for the Go runtime statistics exported in
 // runtime.MemStats.  This is designed to be called as a goroutine.
-func CaptureRuntimeMemStats(r Registry, interval int64) {
+func CaptureRuntimeMemStats(r Registry, d time.Duration) {
 	for {
 		CaptureRuntimeMemStatsOnce(r)
-		time.Sleep(time.Duration(int64(1e9) * int64(interval)))
+		time.Sleep(d)
 	}
 }
 

+ 3 - 3
syslog.go

@@ -9,8 +9,8 @@ import (
 )
 
 // Output each metric in the given registry to syslog periodically using
-// the given syslogger.  The interval is to be given in seconds.
-func Syslog(r Registry, interval int, w *syslog.Writer) {
+// the given syslogger.
+func Syslog(r Registry, d time.Duration, w *syslog.Writer) {
 	for {
 		r.Each(func(name string, i interface{}) {
 			switch m := i.(type) {
@@ -69,6 +69,6 @@ func Syslog(r Registry, interval int, w *syslog.Writer) {
 				))
 			}
 		})
-		time.Sleep(time.Duration(int64(1e9) * int64(interval)))
+		time.Sleep(d)
 	}
 }