Brak opisu

Richard Crowley 8d94aa3bf1 Tests in alphabetical order. 12 lat temu
cmd 6c9cbbbec4 (#22) Refactor StatHat support into its own package. 12 lat temu
stathat d8f2d811b6 Resolve naming collision in output functions. 12 lat temu
.gitignore 7b8f3191d7 never-read debugging tool. 12 lat temu
LICENSE cf3de86166 Updated docs, deleted Makefiles. 14 lat temu
README.md abab30538f (#22) Document StatHat support. 12 lat temu
counter.go afe4dd2c31 Remove dead code. 12 lat temu
counter_test.go 8d94aa3bf1 Tests in alphabetical order. 12 lat temu
debug.go 4e964b6581 Register debug.ReadGCStats, too. 12 lat temu
ewma.go afe4dd2c31 Remove dead code. 12 lat temu
ewma_test.go 4894b96c0c Benchmark for testing new EWMA. 12 lat temu
gauge.go afe4dd2c31 Remove dead code. 12 lat temu
gauge_test.go 4461e83a4e Cleanup imports. 14 lat temu
graphite.go d8f2d811b6 Resolve naming collision in output functions. 12 lat temu
healthcheck.go afe4dd2c31 Remove dead code. 12 lat temu
histogram.go afe4dd2c31 Remove dead code. 12 lat temu
histogram_test.go 8d94aa3bf1 Tests in alphabetical order. 12 lat temu
json.go 0c73e02247 Fix #12: switch to Go 1 standard time.Duration. 12 lat temu
log.go 0c73e02247 Fix #12: switch to Go 1 standard time.Duration. 12 lat temu
memory.md 033e0dc4eb Installation and usage. 14 lat temu
meter.go afe4dd2c31 Remove dead code. 12 lat temu
meter_test.go 8d94aa3bf1 Tests in alphabetical order. 12 lat temu
metrics.go b953f7c0d8 ETOOCLEVER so s/ObserverEffect/UseNilMetrics/. 12 lat temu
registry.go afe4dd2c31 Remove dead code. 12 lat temu
registry_test.go b58f988162 Don't hold the lock during Each callbacks. 12 lat temu
runtime.go 50619b14a0 go fmt 12 lat temu
sample.go afe4dd2c31 Remove dead code. 12 lat temu
sample_test.go 8d94aa3bf1 Tests in alphabetical order. 12 lat temu
syslog.go d8f2d811b6 Resolve naming collision in output functions. 12 lat temu
timer.go afe4dd2c31 Remove dead code. 12 lat temu
timer_test.go 8d94aa3bf1 Tests in alphabetical order. 12 lat temu
writer.go b7377fcfe3 Add output to io.Writer, including ioutil.Discard. 12 lat temu

README.md

go-metrics

Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics.

Documentation: http://godoc.org/github.com/rcrowley/go-metrics.

Usage

Create and update metrics:

c := metrics.NewCounter()
metrics.Register("foo", c)
c.Inc(47)

g := metrics.NewGauge()
metrics.Register("bar", g)
g.Update(47)

s := metrics.NewExpDecaySample(1028, 0.015) // or metrics.NewUniformSample(1028)
h := metrics.NewHistogram(s)
metrics.Register("baz", h)
h.Update(47)

m := metrics.NewMeter()
metrics.Register("quux", m)
m.Mark(47)

t := metrics.NewTimer()
metrics.Register("bang", t)
t.Time(func() {})
t.Update(47)

Periodically log every metric in human-readable form to standard error:

go metrics.Log(metrics.DefaultRegistry, 60e9, log.New(os.Stderr, "metrics: ", log.Lmicroseconds))

Periodically log every metric in slightly-more-parseable form to syslog:

w, _ := syslog.Dial("unixgram", "/dev/log", syslog.LOG_INFO, "metrics")
go metrics.Syslog(metrics.DefaultRegistry, 60e9, w)

Periodically emit every metric to Graphite:

addr, _ := net.ResolveTCPAddr("tcp", "127.0.0.1:2003")
go metrics.Graphite(metrics.DefaultRegistry, 10e9, "metrics", addr)

Periodically emit every metric to StatHat:

import "github.com/rcrowley/go-metrics/stathat"

stathat.Stathat(metrics.DefaultRegistry, 10e9, "example@example.com")

Installation

go get github.com/rcrowley/go-metrics

StatHat support additionally requires their Go client:

go get github.com/stathat/go