Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



38 Commits

Repository files navigation

HttpToStatsd Build Status

An HTTP server in node.js for receiving client metrics and send them to statsD.

Native apps, and client side apps, can't easily send UDP packet directly to StatsD. With this server, you can send to it, asynchronous http request, from client-side apps, letting the server send them in UDP to your statsD.



... profit !

usage in production

node app

or if you want to choose the port (to run multiple instance) :

export NODE_PORT=8081 && node app

usage in dev (loading dev config)

export NODE_ENV=development
node app

usage in production (loading production config)

export NODE_ENV=production
node app





delta value specifies by how much counter is modified







timing value in ms

how to compute a token

md5sum(node + value + secretKey)

for increment, value is '1'

Rate limit

    "rateLimit": {
        "enable": true,
        "lookup": [
        "maxRequestsPerSeconds": 100,
        "expire": 60,
        "skipHeaders": true
  • enable: Boolean enable/disable rate limit feature
  • lookup: String|Array.<String> value lookup on the request object. Can be a single value or array.
  • maxRequestsPerSeconds: Number allowed number of requests before getting rate limited
  • expire: Number amount of time in s before the rate-limited is reset (global reset)
  • skipHeaders: Boolean whether to skip sending HTTP X-Ratelimit headers for rate limit

Launch unit test

yarn test