Simple daemon for easy stats aggregation
Перейти к файлу
Erik Kastner d5c62bdb21 adding link to the flickr post about their StatsD 2011-02-12 20:08:33 -05:00
LICENSE adding license (mit) 2010-12-29 19:50:11 -05:00
README.md adding link to the flickr post about their StatsD 2011-02-12 20:08:33 -05:00
config.js initial import of StatsD 2010-12-29 19:15:00 -05:00
exampleConfig.js initial import of StatsD 2010-12-29 19:15:00 -05:00
php-example.php initial import of StatsD 2010-12-29 19:15:00 -05:00
stats.js initial import of StatsD 2010-12-29 19:15:00 -05:00

README.md

StatsD

Sometimes you need to count stuff. Maybe you need to know how long something took.

Concepts

  • buckets Each stat is in it's own "bucket". They are not predefined anywhere. Buckets can be named anything that will translate to Graphite (periods make folders, etc)

  • values Each stat will have a value. How it is interpreted depends on modifiers

  • flush After the flush interval timeout (default 10 seconds), stats are munged and sent over to Graphite.

Counting

gorets:1|c

This is a simple counter. Add 1 to the "gorets" bucket. It stays in memory until the flush interval.

Timing

glork:320|ms

The glork took 320ms to complete this time. StatsD figures out 90th percentile, average (mean), lower and upper bounds for the flush interval.

Sampling

gorets:1|c|@0.1

Tells StatsD that this counter is being sent sampled ever 1/10th of the time.

Guts

  • UDP Client libraries use UDP to send information to the StatsD daemon.

  • NodeJS

  • Graphite

Inspiration

StatsD was inspired (heavily) by the project (of the same name) at Flickr. Here's a post where Cal Henderson described it in depth: Counting and timing