Без опису

Richard Crowley c729cec8e3 Merge pull request #30 from rcrowley/librato 12 роки тому
cmd 6c9cbbbec4 (#22) Refactor StatHat support into its own package. 12 роки тому
librato 3d4887b893 add missing counter for timers 12 роки тому
stathat d8f2d811b6 Resolve naming collision in output functions. 12 роки тому
.gitignore 7b8f3191d7 never-read debugging tool. 12 роки тому
LICENSE cf3de86166 Updated docs, deleted Makefiles. 14 роки тому
README.md abab30538f (#22) Document StatHat support. 12 роки тому
counter.go 4e85b8b5ac (#25) Add GetOrRegister* for reach standard metric. 12 роки тому
counter_test.go 2b6007ef3c (#25) Get NewRegistered* in on the tests. 12 роки тому
debug.go a9f31ff475 Research, benchmarks, and tests. 12 роки тому
debug_test.go a4a3178f75 Skip tests that require GOMAXPROCS > 1. 12 роки тому
ewma.go afe4dd2c31 Remove dead code. 12 роки тому
ewma_test.go ddac18df1e Benchmarks for everyone! 12 роки тому
gauge.go 4e85b8b5ac (#25) Add GetOrRegister* for reach standard metric. 12 роки тому
gauge_test.go 2b6007ef3c (#25) Get NewRegistered* in on the tests. 12 роки тому
graphite.go d8f2d811b6 Resolve naming collision in output functions. 12 роки тому
healthcheck.go afe4dd2c31 Remove dead code. 12 роки тому
histogram.go 4e85b8b5ac (#25) Add GetOrRegister* for reach standard metric. 12 роки тому
histogram_test.go 2b6007ef3c (#25) Get NewRegistered* in on the tests. 12 роки тому
json.go 0c73e02247 Fix #12: switch to Go 1 standard time.Duration. 12 роки тому
log.go 0c73e02247 Fix #12: switch to Go 1 standard time.Duration. 12 роки тому
memory.md 033e0dc4eb Installation and usage. 14 роки тому
meter.go 4e85b8b5ac (#25) Add GetOrRegister* for reach standard metric. 12 роки тому
meter_test.go 2b6007ef3c (#25) Get NewRegistered* in on the tests. 12 роки тому
metrics.go b953f7c0d8 ETOOCLEVER so s/ObserverEffect/UseNilMetrics/. 12 роки тому
metrics_test.go a9f31ff475 Research, benchmarks, and tests. 12 роки тому
registry.go 569c4a2ce0 GetOrRegister for the DefaultRegistry. 12 роки тому
registry_test.go d49553bfb5 Factor out locked registration and alphabetize. 12 роки тому
runtime.go a9f31ff475 Research, benchmarks, and tests. 12 роки тому
runtime_test.go a4a3178f75 Skip tests that require GOMAXPROCS > 1. 12 роки тому
sample.go afe4dd2c31 Remove dead code. 12 роки тому
sample_test.go 8d94aa3bf1 Tests in alphabetical order. 12 роки тому
syslog.go d8f2d811b6 Resolve naming collision in output functions. 12 роки тому
timer.go 4e85b8b5ac (#25) Add GetOrRegister* for reach standard metric. 12 роки тому
timer_test.go 2b6007ef3c (#25) Get NewRegistered* in on the tests. 12 роки тому
writer.go e28bcdbc45 Refactor Write to export WriteOnce, too. 12 роки тому

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