Няма описание

Richard Crowley 7d63d7c409 Typo. преди 13 години
cmd 7b8f3191d7 never-read debugging tool. преди 13 години
.gitignore 7b8f3191d7 never-read debugging tool. преди 13 години
LICENSE cf3de86166 Updated docs, deleted Makefiles. преди 14 години
README.md d7a299ba62 Update docs. преди 13 години
counter.go 07ad690f21 Interface checks all over. преди 13 години
counter_test.go 4461e83a4e Cleanup imports. преди 14 години
debug.go 50619b14a0 go fmt преди 13 години
ewma.go 5330744552 Inline the mutexes into their containers. преди 13 години
ewma_test.go 4894b96c0c Benchmark for testing new EWMA. преди 13 години
gauge.go 07ad690f21 Interface checks all over. преди 13 години
gauge_test.go 4461e83a4e Cleanup imports. преди 14 години
graphite.go eeb9bcd8db Close Graphite connections. преди 13 години
healthcheck.go 07ad690f21 Interface checks all over. преди 13 години
histogram.go 9179d9e3e3 Mariano's right: clear the sample inside the lock. преди 13 години
histogram_test.go a774a6a932 Use a lock instead of a goroutine for Histogram. преди 13 години
json.go 0c73e02247 Fix #12: switch to Go 1 standard time.Duration. преди 13 години
log.go 0c73e02247 Fix #12: switch to Go 1 standard time.Duration. преди 13 години
memory.md 033e0dc4eb Installation and usage. преди 14 години
meter.go 4f73817775 Style upgrade. преди 13 години
meter_test.go 4461e83a4e Cleanup imports. преди 14 години
metrics.go f7cf4d7405 Initial import. преди 14 години
registry.go 5330744552 Inline the mutexes into their containers. преди 13 години
registry_test.go b58f988162 Don't hold the lock during Each callbacks. преди 13 години
runtime.go 50619b14a0 go fmt преди 13 години
sample.go 5330744552 Inline the mutexes into their containers. преди 13 години
sample_test.go 7d63d7c409 Typo. преди 13 години
syslog.go 0c73e02247 Fix #12: switch to Go 1 standard time.Duration. преди 13 години
timer.go 07ad690f21 Interface checks all over. преди 13 години
timer_test.go e0ec3c8081 Add UpdateSince for use with defer. преди 13 години
writer.go b7377fcfe3 Add output to io.Writer, including ioutil.Discard. преди 13 години

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)

Installation

go get github.com/rcrowley/go-metrics