[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3238":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":15,"starSnapshotCount":15,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},3238,"statsd","statsd\u002Fstatsd","Daemon for easy but powerful stats aggregation","",null,"JavaScript",18044,1938,438,52,0,9,70.76,"MIT License",false,"master",true,[23,24,25,26,5],"graphite","javascript","metrics","nodejs","2026-06-12 04:00:17","# StatsD [![Join the chat at https:\u002F\u002Fgitter.im\u002Fstatsd\u002Fstatsd](https:\u002F\u002Fbadges.gitter.im\u002Fstatsd\u002Fstatsd.svg)](https:\u002F\u002Fgitter.im\u002Fstatsd\u002Fstatsd?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Docker Pulls](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fstatsd\u002Fstatsd)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fstatsd\u002Fstatsd)\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\n## Key Concepts\n\n* *buckets*\n\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\n  Each stat will have a value. How it is interpreted depends on modifiers. In\ngeneral values should be integers.\n\n* *flush*\n\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\n## Installation and Configuration\n\n### Docker\nStatsD supports docker in three ways:\n* The official container image on [GitHub Container Registry](https:\u002F\u002Fgithub.com\u002Fstatsd\u002Fstatsd\u002Fpkgs\u002Fcontainer\u002Fstatsd)\n* The official container image on [DockerHub](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fstatsd\u002Fstatsd)\n* Building the image from the bundled [Dockerfile](.\u002FDockerfile)\n\n### Manual installation\n * Install Node.js (All [`Current` and `LTS` Node.js versions](https:\u002F\u002Fnodejs.org\u002Fen\u002Fabout\u002Freleases\u002F) are supported.)\n * Clone the project\n * Create a config file from `exampleConfig.js` and put it somewhere\n * Start the Daemon:\n   `node stats.js \u002Fpath\u002Fto\u002Fconfig`\n\n## Usage\nThe basic line protocol expects metrics to be sent in the format:\n\n    \u003Cmetricname>:\u003Cvalue>|\u003Ctype>\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\n## More Specific Topics\n* [Metric Types][docs_metric_types]\n* [Graphite Integration][docs_graphite]\n* [Supported Servers][docs_server]\n* [Supported Backends][docs_backend]\n* [Admin TCP Interface][docs_admin_interface]\n* [Server Interface][docs_server_interface]\n* [Backend Interface][docs_backend_interface]\n* [Metric Namespacing][docs_namespacing]\n* [StatsD Cluster Proxy][docs_cluster_proxy]\n\n## Debugging\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\n## Tests\nA test framework has been added using node-unit and some custom code to start\nand manipulate StatsD. Please add tests under test\u002F 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 `.\u002Frun_tests.sh`.\n\n## History\nStatsD was originally written at [Etsy][etsy] and released with a\n[blog post][blog post] about how it works and why we created it.\n\n## Inspiration\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\n\n\n[graphite]: http:\u002F\u002Fgraphite.readthedocs.org\u002F\n[etsy]: http:\u002F\u002Fwww.etsy.com\n[blog post]: https:\u002F\u002Fcodeascraft.etsy.com\u002F2011\u002F02\u002F15\u002Fmeasure-anything-measure-everything\u002F\n[node]: http:\u002F\u002Fnodejs.org\n[nodemods]: http:\u002F\u002Fnodejs.org\u002Fapi\u002Fmodules.html\n[counting-timing]: http:\u002F\u002Fcode.flickr.com\u002Fblog\u002F2008\u002F10\u002F27\u002Fcounting-timing\u002F\n[Flicker-StatsD]: https:\u002F\u002Fgithub.com\u002Fiamcal\u002FFlickr-StatsD\n[udp]: http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FUser_Datagram_Protocol\n[tcp]: http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTransmission_Control_Protocol\n[docs_metric_types]: https:\u002F\u002Fgithub.com\u002Fstatsd\u002Fstatsd\u002Fblob\u002Fmaster\u002Fdocs\u002Fmetric_types.md\n[docs_graphite]: https:\u002F\u002Fgithub.com\u002Fstatsd\u002Fstatsd\u002Fblob\u002Fmaster\u002Fdocs\u002Fgraphite.md\n[docs_server]: https:\u002F\u002Fgithub.com\u002Fstatsd\u002Fstatsd\u002Fblob\u002Fmaster\u002Fdocs\u002Fserver.md\n[docs_backend]: https:\u002F\u002Fgithub.com\u002Fstatsd\u002Fstatsd\u002Fblob\u002Fmaster\u002Fdocs\u002Fbackend.md\n[docs_admin_interface]: https:\u002F\u002Fgithub.com\u002Fstatsd\u002Fstatsd\u002Fblob\u002Fmaster\u002Fdocs\u002Fadmin_interface.md\n[docs_server_interface]: https:\u002F\u002Fgithub.com\u002Fstatsd\u002Fstatsd\u002Fblob\u002Fmaster\u002Fdocs\u002Fserver_interface.md\n[docs_backend_interface]: https:\u002F\u002Fgithub.com\u002Fstatsd\u002Fstatsd\u002Fblob\u002Fmaster\u002Fdocs\u002Fbackend_interface.md\n[docs_namespacing]: https:\u002F\u002Fgithub.com\u002Fetsy\u002Fstatsd\u002Fblob\u002Fmaster\u002Fdocs\u002Fnamespacing.md\n[docs_cluster_proxy]: https:\u002F\u002Fgithub.com\u002Fetsy\u002Fstatsd\u002Fblob\u002Fmaster\u002Fdocs\u002Fcluster_proxy.md\n[travis-ci_status_img]: https:\u002F\u002Ftravis-ci.org\u002Fstatsd\u002Fstatsd.svg?branch=master\n[travis-ci_statsd]: https:\u002F\u002Ftravis-ci.org\u002Fstatsd\u002Fstatsd\n","StatsD是一个基于Node.js平台的网络守护进程，用于轻松但强大的统计数据聚合。它通过UDP或TCP接收计数器和计时器等统计信息，并将这些数据汇总后发送给一个或多个可插拔的后端服务（如Graphite）。项目的核心功能包括自定义统计桶、整数值处理以及定时刷新机制，默认每10秒向后端服务发送一次汇总数据。StatsD适合于需要实时监控和分析应用性能指标的各种场景，特别是在微服务架构中作为度量收集层使用。其简洁的协议设计与广泛的后端支持使得集成变得简单高效。",2,"2026-06-11 02:53:03","top_language"]