an implementation of Etsy's statsd in Go
Go Shell
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Port of Etsy's statsd (, written in Go (originally based on amir/gographite).


  • Timing (with optional percentiles)
  • Counters (positive and negative with optional sampling)
  • Gauges (including relative operations)
  • Sets

Initially only integers were supported for metric values, but now double-precision floating-point is supported.

Build Status


Binary Releases

Pre-built binaries for darwin and linux.

Current Stable Release: v0.7.1

Older Releases

Building from Source

git clone
cd statsdaemon
go get #for tests
go build

Command Line Options

Usage of ./statsdaemon:
  -address=":8125": UDP service address
  -debug=false: print statistics sent to graphite
  -delete-gauges=true: don't send values to graphite for inactive gauges, as opposed to sending the previous value
  -flush-interval=10: Flush interval (seconds)
  -graphite="": Graphite service address (or - to disable)
  -max-udp-packet-size=1472: Maximum UDP packet size
  -percent-threshold=[]: percentile calculation for timers (0-100, may be given multiple times)
  -persist-count-keys=60: number of flush-intervals to persist count keys
  -postfix="": Postfix for all stats
  -prefix="": Prefix for all stats
  -receive-counter="": Metric name for total metrics received per interval
  -tcpaddr="": TCP service address, if set
  -version=false: print version string