Skip to content

nagyistge/g2s

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

g2s

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

Build Status GoDoc

Usage

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, "my.silly.fast-process", 7*time.Millisecond)
s.Gauge(1.0, "my.silly.status", "green")

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 separate goroutine.

The default timeout is 2 seconds, you can change that by using "DialTimeout":

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

If you use the built-in Dial or DialTimeout function g2s will attempt to reconnect when a write fails. This will happen rarely, if interface becomes invalid for a time.

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.

About

Get to Statsd: forward simple statistics to a statsd server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 95.1%
  • Shell 4.9%