| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package main
- import (
- "log"
- "metrics"
- // "os"
- "syslog"
- "time"
- )
- const fanout = 10
- func main() {
- r := metrics.NewRegistry()
- c := metrics.NewCounter()
- r.RegisterCounter("foo", c)
- for i := 0; i < fanout; i++ {
- go func() {
- for {
- c.Dec(19)
- time.Sleep(300e6)
- }
- }()
- go func() {
- for {
- c.Inc(47)
- time.Sleep(400e6)
- }
- }()
- }
- g := metrics.NewGauge()
- r.RegisterGauge("bar", g)
- for i := 0; i < fanout; i++ {
- go func() {
- for {
- g.Update(19)
- time.Sleep(300e6)
- }
- }()
- go func() {
- for {
- g.Update(47)
- time.Sleep(400e6)
- }
- }()
- }
- s := metrics.NewExpDecaySample(1028, 0.015)
- // s := metrics.NewUniformSample(1028)
- h := metrics.NewHistogram(s)
- r.RegisterHistogram("baz", h)
- for i := 0; i < fanout; i++ {
- go func() {
- for {
- h.Update(19)
- time.Sleep(300e6)
- }
- }()
- go func() {
- for {
- h.Update(47)
- time.Sleep(400e6)
- }
- }()
- }
- m := metrics.NewMeter()
- r.RegisterMeter("bang", m)
- for i := 0; i < fanout; i++ {
- go func() {
- for {
- m.Mark(19)
- time.Sleep(300e6)
- }
- }()
- go func() {
- for {
- m.Mark(47)
- time.Sleep(400e6)
- }
- }()
- }
- // 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)
- */
- }
|