Нема описа

Richard Crowley ca11f0842a Benchmarks show that avoiding allocation is good. пре 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 296be4a47c Remove unused receiver names. пре 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 296be4a47c Remove unused receiver names. пре 12 година
ewma_test.go ddac18df1e Benchmarks for everyone! пре 12 година
gauge.go 296be4a47c Remove unused receiver names. пре 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 296be4a47c Remove unused receiver names. пре 12 година
histogram.go 985d2503b6 Offload percentiles to the Sample. пре 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 296be4a47c Remove unused receiver names. пре 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 ab878ebe34 go fmt пре 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 0cde5523cb Export generic sample statistic implementations. пре 12 година
sample_test.go ca11f0842a Benchmarks show that avoiding allocation is good. пре 12 година
syslog.go d8f2d811b6 Resolve naming collision in output functions. пре 12 година
timer.go 296be4a47c Remove unused receiver names. пре 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