|
|
@@ -1,19 +1,22 @@
|
|
|
package main
|
|
|
|
|
|
import (
|
|
|
- "fmt"
|
|
|
+ "log"
|
|
|
"metrics"
|
|
|
+// "os"
|
|
|
+ "syslog"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
+const fanout = 10
|
|
|
+
|
|
|
func main() {
|
|
|
|
|
|
r := metrics.NewRegistry()
|
|
|
|
|
|
-/*
|
|
|
c := metrics.NewCounter()
|
|
|
r.RegisterCounter("foo", c)
|
|
|
- for i := 0; i < 1000; i++ {
|
|
|
+ for i := 0; i < fanout; i++ {
|
|
|
go func() {
|
|
|
for {
|
|
|
c.Dec(19)
|
|
|
@@ -27,16 +30,10 @@ func main() {
|
|
|
}
|
|
|
}()
|
|
|
}
|
|
|
- for {
|
|
|
- fmt.Printf("c.Count(): %v\n", c.Count())
|
|
|
- time.Sleep(500e6)
|
|
|
- }
|
|
|
-*/
|
|
|
|
|
|
-/*
|
|
|
g := metrics.NewGauge()
|
|
|
r.RegisterGauge("bar", g)
|
|
|
- for i := 0; i < 1000; i++ {
|
|
|
+ for i := 0; i < fanout; i++ {
|
|
|
go func() {
|
|
|
for {
|
|
|
g.Update(19)
|
|
|
@@ -50,18 +47,12 @@ func main() {
|
|
|
}
|
|
|
}()
|
|
|
}
|
|
|
- for {
|
|
|
- fmt.Printf("g.Value(): %v\n", g.Value())
|
|
|
- time.Sleep(500e6)
|
|
|
- }
|
|
|
-*/
|
|
|
|
|
|
-/*
|
|
|
s := metrics.NewExpDecaySample(1028, 0.015)
|
|
|
// s := metrics.NewUniformSample(1028)
|
|
|
h := metrics.NewHistogram(s)
|
|
|
r.RegisterHistogram("baz", h)
|
|
|
- for i := 0; i < 1000; i++ {
|
|
|
+ for i := 0; i < fanout; i++ {
|
|
|
go func() {
|
|
|
for {
|
|
|
h.Update(19)
|
|
|
@@ -75,20 +66,10 @@ func main() {
|
|
|
}
|
|
|
}()
|
|
|
}
|
|
|
- for {
|
|
|
- fmt.Printf(
|
|
|
- "h: %v %v %v %v %v %v %v %v %v\n",
|
|
|
- h.Count(), h.Sum(), h.Min(), h.Max(),
|
|
|
- h.Percentile(95.0), h.Percentile(99.0), h.Percentile(99.9),
|
|
|
- h.StdDev(), h.Variance(),
|
|
|
- )
|
|
|
- time.Sleep(500e6)
|
|
|
- }
|
|
|
-*/
|
|
|
|
|
|
m := metrics.NewMeter()
|
|
|
r.RegisterMeter("bang", m)
|
|
|
- for i := 0; i < 1000; i++ {
|
|
|
+ for i := 0; i < fanout; i++ {
|
|
|
go func() {
|
|
|
for {
|
|
|
m.Mark(19)
|
|
|
@@ -102,12 +83,13 @@ func main() {
|
|
|
}
|
|
|
}()
|
|
|
}
|
|
|
- for {
|
|
|
- fmt.Printf(
|
|
|
- "m: %v %v %v %v %v\n",
|
|
|
- m.Count(), m.Rate1(), m.Rate5(), m.Rate15(), m.RateMean(),
|
|
|
- )
|
|
|
- time.Sleep(500e6)
|
|
|
- }
|
|
|
+
|
|
|
+// metrics.Log(r, 60, 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)
|
|
|
+*/
|
|
|
|
|
|
}
|