Port of Etsy's statsd (https://github.com/etsy/statsd), written in Go (originally based on amir/gographite).
Supports:
- 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.
Pre-built binaries for darwin and linux.
- statsdaemon-0.6-alpha.darwin-amd64.go1.3.tar.gz
- statsdaemon-0.6-alpha.linux-amd64.go1.3.tar.gz
- statsdaemon-0.5.2-alpha.linux-amd64.go1.1.1.tar.gz
git clone https://github.com/bitly/statsdaemon
cd statsdaemon
go get github.com/bmizerany/assert #for tests
go build
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="127.0.0.1:2003": 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
-heartbeat-file="": heartbeat file to update after a successful write to graphite