{"action":"created","issue":{"url":"https://api.github.com/repos/armon/statsite/issues/116","repository_url":"https://api.github.com/repos/armon/statsite","labels_url":"https://api.github.com/repos/armon/statsite/issues/116/labels{/name}","comments_url":"https://api.github.com/repos/armon/statsite/issues/116/comments","events_url":"https://api.github.com/repos/armon/statsite/issues/116/events","html_url":"https://github.com/armon/statsite/issues/116","id":62802187,"number":116,"title":"Support for \"condensed\" statsd protocol.","user":{"login":"drawks","id":410276,"avatar_url":"https://avatars.githubusercontent.com/u/410276?v=3","gravatar_id":"","url":"https://api.github.com/users/drawks","html_url":"https://github.com/drawks","followers_url":"https://api.github.com/users/drawks/followers","following_url":"https://api.github.com/users/drawks/following{/other_user}","gists_url":"https://api.github.com/users/drawks/gists{/gist_id}","starred_url":"https://api.github.com/users/drawks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drawks/subscriptions","organizations_url":"https://api.github.com/users/drawks/orgs","repos_url":"https://api.github.com/users/drawks/repos","events_url":"https://api.github.com/users/drawks/events{/privacy}","received_events_url":"https://api.github.com/users/drawks/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-03-18T21:13:19Z","updated_at":"2016-05-02T21:02:25Z","closed_at":null,"body":"In addition to the standard single update string protocol, the etsy (reference) implementation of stats supports appending multiple timer updates for a single metric as well as multiple different types of  updates for a single key to be combined:\r\n\r\nI can't find official documentation for this optimization, but you can see a proxy which implements pre-processing datagrams using this technique at https://github.com/juliusv/ne-statsd-backend and sure enough if you test the example updates against the etsy statsd they all work as described.\r\n\r\nThis can provide a nice bump in wire efficiency for some use patterns:\r\n\r\nHere are few inline examples in case the above url goes dead:\r\n\r\n````\r\nfoo:8|ms\r\nfoo:5|ms\r\nfoo:3|ms\r\n````\r\n\r\nbecomes:\r\n````\r\nfoo:8|ms:5|ms:3|ms\r\n````\r\n\r\nwhich is 33% smaller in this case and could easily be much more efficient in the case of a longer metric name (which would be typical) or a metric with a very high update frequency.\r\n\r\nor\r\n\r\n````\r\nfoo:1|c\r\nfoo:3|c\r\nfoo:5|ms\r\nfoo:3|ms\r\nfoo:6|g\r\nfoo:7|g\r\n````\r\n\r\nbecomes:\r\n````\r\nfoo:4|c:5|ms:3|ms:7|g\r\n`````\r\n\r\nwhich is something like 50% smaller with similar notes as above WRT metric name size and update frequency.\r\n"},"comment":{"url":"https://api.github.com/repos/armon/statsite/issues/comments/216362650","html_url":"https://github.com/armon/statsite/issues/116#issuecomment-216362650","issue_url":"https://api.github.com/repos/armon/statsite/issues/116","id":216362650,"user":{"login":"shamil","id":655447,"avatar_url":"https://avatars.githubusercontent.com/u/655447?v=3","gravatar_id":"","url":"https://api.github.com/users/shamil","html_url":"https://github.com/shamil","followers_url":"https://api.github.com/users/shamil/followers","following_url":"https://api.github.com/users/shamil/following{/other_user}","gists_url":"https://api.github.com/users/shamil/gists{/gist_id}","starred_url":"https://api.github.com/users/shamil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shamil/subscriptions","organizations_url":"https://api.github.com/users/shamil/orgs","repos_url":"https://api.github.com/users/shamil/repos","events_url":"https://api.github.com/users/shamil/events{/privacy}","received_events_url":"https://api.github.com/users/shamil/received_events","type":"User","site_admin":false},"created_at":"2016-05-02T21:02:25Z","updated_at":"2016-05-02T21:02:25Z","body":"Will this be implemented/merged? I see some statsd client libraries are using explicity this format. Like `kamon-statsd`."}}