{"_id":"strong-fork-statsd","_rev":"198-875ea64d30367270bf96911068f7ea6f","name":"strong-fork-statsd","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"strong-fork-statsd","version":"1.0.0","author":{"name":"engineering@strongloop.com"},"_id":"strong-fork-statsd@1.0.0","maintainers":[{"name":"octet","email":"sam@strongloop.com"}],"homepage":"https://github.com/strongloop-fork/statsd","bugs":{"url":"https://github.com/strongloop-fork/statsd/issues"},"bin":{"statsd":"./bin/statsd"},"dist":{"shasum":"a45dbacfbf855f9bf04bdbe35eb0118138419a1f","tarball":"https://registry.npmjs.org/strong-fork-statsd/-/strong-fork-statsd-1.0.0.tgz","integrity":"sha512-PYB6/YxFId8e570zy5SY2TSn3brwyIQCuuIWHJhPaH4XjKpmZOUMjnZ96EpsWNV1dhTBlGm47iZn2u+QgRyE7A==","signatures":[{"sig":"MEYCIQDWsHnAntRp68cDNheehURnxUaDhZHk9fdVKFQDR9BV/QIhALXx/YXSFS7Ih56gX1Or91GDMYx97QSHHmnp5tsi6j3K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"a45dbacfbf855f9bf04bdbe35eb0118138419a1f","engines":{"node":">=0.8"},"gitHead":"3eb3aba44930da488e565a73554e58a05f621681","scripts":{"test":"./run_tests.sh","start":"node stats.js config.js","install-windows-service":"winser -i","uninstall-windows-service":"winser -r"},"_npmUser":{"name":"octet","email":"sam@strongloop.com"},"repository":{"url":"https://github.com/strongloop-fork/statsd.git","type":"git"},"_npmVersion":"1.4.28","description":"strongloop internal fork of etsy/statsd","directories":{},"dependencies":{"hashring":"1.0.1","node-syslog":"1.1.7","strong-control-channel":"^1.0.0"},"devDependencies":{"temp":"0.4.x","nodeunit":"0.7.x","underscore":"1.4.x"},"optionalDependencies":{"hashring":"1.0.1","node-syslog":"1.1.7"}},"1.0.1":{"name":"strong-fork-statsd","version":"1.0.1","author":{"name":"engineering@strongloop.com"},"_id":"strong-fork-statsd@1.0.1","maintainers":[{"name":"octet","email":"sam@strongloop.com"},{"name":"rmg","email":"r.m.graham@gmail.com"},{"name":"strongloop","email":"callback@strongloop.com"}],"homepage":"https://github.com/strongloop-forks/statsd","bugs":{"url":"https://github.com/strongloop-forks/statsd/issues"},"bin":{"statsd":"./bin/statsd"},"dist":{"shasum":"63b07e7c0958440cdd0de4367eda419f0ccbfaee","tarball":"https://registry.npmjs.org/strong-fork-statsd/-/strong-fork-statsd-1.0.1.tgz","integrity":"sha512-666cqr8YO7cBHb1w4+tnzwy/UNIYfAAJd1r6vM2JIYGm10xMDRWn8E7/D6JrFZw5xAbj9KsvmddFZjO0FE8tXA==","signatures":[{"sig":"MEUCIQCfiDNPZGh09ofnWJECgAU6Zb6MzaA+7WDxIVwvahS5igIgashurOUxq+/usQD5mdWi72JgZK3lrS8eaFxTw95xwGE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"63b07e7c0958440cdd0de4367eda419f0ccbfaee","engines":{"node":">=0.8"},"gitHead":"1f36b75799e7fa4fcad5b1dc375613ccde77157c","scripts":{"test":"./run_tests.sh","start":"node stats.js config.js","install-windows-service":"winser -i","uninstall-windows-service":"winser -r"},"_npmUser":{"name":"octet","email":"sam@strongloop.com"},"repository":{"url":"https://github.com/strongloop-forks/statsd.git","type":"git"},"_npmVersion":"1.4.28","description":"strongloop internal fork of etsy/statsd","directories":{},"dependencies":{"hashring":"1.0.1","node-syslog":"^1.1.7","statsd-udpkv-backend":"^0.2.0","strong-control-channel":"^1.0.0"},"devDependencies":{"temp":"0.4.x","nodeunit":"0.7.x","underscore":"1.4.x"},"optionalDependencies":{"hashring":"1.0.1","node-syslog":"^1.1.7"}}},"time":{"created":"2014-10-04T03:38:36.813Z","modified":"2026-04-14T15:10:44.122Z","1.0.0":"2014-10-04T03:38:36.813Z","1.0.1":"2014-10-27T18:47:04.674Z"},"bugs":{"url":"https://github.com/strongloop-forks/statsd/issues"},"author":{"name":"engineering@strongloop.com"},"homepage":"https://github.com/strongloop-forks/statsd","repository":{"url":"https://github.com/strongloop-forks/statsd.git","type":"git"},"description":"strongloop internal fork of etsy/statsd","maintainers":[{"email":"r.m.graham@gmail.com","name":"rmg"},{"email":"oss@bajtos.net","name":"bajtos"},{"email":"skawful@gmail.com","name":"ritch"},{"email":"captain@hacksparrow.com","name":"hacksparrow"},{"email":"enjoyjava@gmail.com","name":"rfeng"},{"email":"superkhau@gmail.com","name":"superkhau"},{"email":"kraman@gmail.com","name":"kraman"},{"email":"gpandya@live.com","name":"thegman"},{"email":"davidcheung@live.ca","name":"davidcheung"},{"email":"tffrench@us.ibm.com","name":"tonyf-ibm"},{"email":"ngcandy@ca.ibm.com","name":"0candy"},{"email":"qpresley@ca.ibm.com","name":"qpresley"},{"email":"kjdelisle@gmail.com","name":"kjdelisle"},{"email":"amirali.jfr61@gmail.com","name":"amir-61"},{"email":"juehou@ca.ibm.com","name":"jannyhou2016"},{"email":"binadmt@hotmail.com","name":"b-admike"}],"readme":"StatsD [![Build Status][travis-ci_status_img]][travis-ci_statsd]\n======\n\nA network daemon that runs on the [Node.js][node] platform and\nlistens for statistics, like counters and timers, sent over [UDP][udp] or\n[TCP][tcp] and sends aggregates to one or more pluggable backend services (e.g.,\n[Graphite][graphite]).\n\nWe ([Etsy][etsy]) [blogged][blog post] about how it works and why we created it.\n\nInspiration\n-----------\n\nStatsD was inspired (heavily) by the project (of the same name) at Flickr.\nHere's a post where Cal Henderson described it in depth:\n[Counting and timing][counting-timing]\nCal re-released the code recently:\n[Perl StatsD][Flicker-StatsD]\n\nKey Concepts\n--------\n\n* *buckets*\n  Each stat is in its own \"bucket\". They are not predefined anywhere. Buckets\ncan be named anything that will translate to Graphite (periods make folders,\netc)\n\n* *values*\n  Each stat will have a value. How it is interpreted depends on modifiers. In\ngeneral values should be integer.\n\n* *flush*\n  After the flush interval timeout (defined by `config.flushInterval`,\n  default 10 seconds), stats are aggregated and sent to an upstream backend service.\n\n\nInstallation and Configuration\n------------------------------\n\n * Install node.js\n * Clone the project\n * Create a config file from exampleConfig.js and put it somewhere\n * Start the Daemon:\n\n    node stats.js /path/to/config\n    \nUsage\n-------\nThe basic line protocol expects metrics to be sent in the format:\n\n    <metricname>:<value>|<type>\n\nSo the simplest way to send in metrics from your command line if you have\nStatsD running with the default UDP server on localhost would be:\n\n    echo \"foo:1|c\" | nc -u -w0 127.0.0.1 8125\n\nMore Specific Topics\n--------\n* [Metric Types][docs_metric_types]\n* [Graphite Integration][docs_graphite]\n* [Supported Backends][docs_backend]\n* [Admin TCP Interface][docs_admin_interface]\n* [Backend Interface][docs_backend_interface]\n* [Metric Namespacing][docs_namespacing]\n* [Statsd Cluster Proxy][docs_cluster_proxy]\n\nDebugging\n---------\n\nThere are additional config variables available for debugging:\n\n* `debug` - log exceptions and print out more diagnostic info\n* `dumpMessages` - print debug info on incoming messages\n\nFor more information, check the `exampleConfig.js`.\n\n\nTests\n-----\n\nA test framework has been added using node-unit and some custom code to start\nand manipulate statsd. Please add tests under test/ for any new features or bug\nfixes encountered. Testing a live server can be tricky, attempts were made to\neliminate race conditions but it may be possible to encounter a stuck state. If\ndoing dev work, a `killall statsd` will kill any stray test servers in the\nbackground (don't do this on a production machine!).\n\nTests can be executed with `./run_tests.sh`.\n\n\nMeta\n---------\n- IRC channel: `#statsd` on freenode\n- Mailing list: `statsd@librelist.com`\n\n\n\n[graphite]: http://graphite.readthedocs.org/\n[etsy]: http://www.etsy.com\n[blog post]: http://codeascraft.etsy.com/2011/02/15/measure-anything-measure-everything/\n[node]: http://nodejs.org\n[nodemods]: http://nodejs.org/api/modules.html\n[counting-timing]: http://code.flickr.com/blog/2008/10/27/counting-timing/\n[Flicker-StatsD]: https://github.com/iamcal/Flickr-StatsD\n[udp]: http://en.wikipedia.org/wiki/User_Datagram_Protocol\n[tcp]: http://en.wikipedia.org/wiki/Transmission_Control_Protocol\n[docs_metric_types]: https://github.com/etsy/statsd/blob/master/docs/metric_types.md\n[docs_graphite]: https://github.com/etsy/statsd/blob/master/docs/graphite.md\n[docs_backend]: https://github.com/etsy/statsd/blob/master/docs/backend.md\n[docs_admin_interface]: https://github.com/etsy/statsd/blob/master/docs/admin_interface.md\n[docs_backend_interface]: https://github.com/etsy/statsd/blob/master/docs/backend_interface.md\n[docs_namespacing]: https://github.com/etsy/statsd/blob/master/docs/namespacing.md\n[docs_cluster_proxy]: https://github.com/etsy/statsd/blob/master/docs/cluster_proxy.md\n[travis-ci_status_img]: https://travis-ci.org/etsy/statsd.svg?branch=master\n[travis-ci_statsd]: https://travis-ci.org/etsy/statsd\n","readmeFilename":"README.md"}