Skip to content
This repository has been archived by the owner. It is now read-only.
Get to Statsd: forward simple statistics to a statsd server
Go Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.


Get to Statsd: forward simple statistics to a statsd server.

Build Status GoDoc


g2s provides a Statsd object, which provides some convenience functions for each of the supported statsd statistic-types. Just call the relevant function on the Statsd object wherever it makes sense in your code.

s, err := g2s.Dial("udp", "statsd-server:8125")
if err != nil {
	// do something

s.Counter(1.0, "my.silly.counter", 1)
s.Timing(1.0, "my.silly.slow-process", time.Since(somethingBegan))
s.Timing(0.2, "", 7*time.Millisecond)
s.Gauge(1.0, "my.silly.status", "green")

If you need to add a prefix to your metrics (for example, if you need to use an API key to send metrics to your statsd service) just use DialWithPrefix instead when instantiating your statsd struct:

s, err := g2s.DialWithPrefix("udp", "statsd-server:8125", "my-cool-prefix")
if err != nil {
	// do something

s.Counter(1.0, "this.gets.prefixed", 1)

If you use a standard UDP connection to a statsd server, all 'update'-class functions are goroutine safe. They should return quickly, but they're safe to fire in a seperate goroutine.

Upgrading API

Upgrade to the latest API by running ./fix.bash *.go where *.go expands to the paths of the source files you'd like to rewrite to the new API.

You can’t perform that action at this time.