Без опису

Richard Crowley aefccf14c6 Add Sum to Histogram and Sample interfaces. 12 роки тому
cmd 6c9cbbbec4 (#22) Refactor StatHat support into its own package. 12 роки тому
librato aefccf14c6 Add Sum to Histogram and Sample interfaces. 12 роки тому
stathat acb13c899b Use Sample to get Histogram stats in reporters. 12 роки тому
.gitignore 7b8f3191d7 never-read debugging tool. 12 роки тому
LICENSE cf3de86166 Updated docs, deleted Makefiles. 13 роки тому
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 acb13c899b Use Sample to get Histogram stats in reporters. 12 роки тому
healthcheck.go 296be4a47c Remove unused receiver names. 12 роки тому
histogram.go aefccf14c6 Add Sum to Histogram and Sample interfaces. 12 роки тому
histogram_test.go 2b6007ef3c (#25) Get NewRegistered* in on the tests. 12 роки тому
json.go acb13c899b Use Sample to get Histogram stats in reporters. 12 роки тому
log.go acb13c899b Use Sample to get Histogram stats in reporters. 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 aefccf14c6 Add Sum to Histogram and Sample interfaces. 12 роки тому
sample_test.go ca11f0842a Benchmarks show that avoiding allocation is good. 12 роки тому
syslog.go acb13c899b Use Sample to get Histogram stats in reporters. 12 роки тому
timer.go 296be4a47c Remove unused receiver names. 12 роки тому
timer_test.go 2b6007ef3c (#25) Get NewRegistered* in on the tests. 12 роки тому
writer.go acb13c899b Use Sample to get Histogram stats in reporters. 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