{"action":"opened","issue":{"url":"https://api.github.com/repos/wikimedia/servisor/issues/6","labels_url":"https://api.github.com/repos/wikimedia/servisor/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/wikimedia/servisor/issues/6/comments","events_url":"https://api.github.com/repos/wikimedia/servisor/issues/6/events","html_url":"https://github.com/wikimedia/servisor/issues/6","id":57773262,"number":6,"title":"StatsD improvements","user":{"login":"atdt","id":376462,"avatar_url":"https://avatars.githubusercontent.com/u/376462?v=3","gravatar_id":"","url":"https://api.github.com/users/atdt","html_url":"https://github.com/atdt","followers_url":"https://api.github.com/users/atdt/followers","following_url":"https://api.github.com/users/atdt/following{/other_user}","gists_url":"https://api.github.com/users/atdt/gists{/gist_id}","starred_url":"https://api.github.com/users/atdt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atdt/subscriptions","organizations_url":"https://api.github.com/users/atdt/orgs","repos_url":"https://api.github.com/users/atdt/repos","events_url":"https://api.github.com/users/atdt/events{/privacy}","received_events_url":"https://api.github.com/users/atdt/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-02-16T07:35:01Z","updated_at":"2015-02-16T07:35:01Z","closed_at":null,"body":"* The [DWIM](https://en.wikipedia.org/wiki/DWIM) approach to metric names (that is, quietly normalizing metric names) is a poor idea. It is reasonable to demand that develops be deliberate and thoughtful with metric names, because the metric namespace is shared, and care must be taken to ensure it is orderly. It would be optimal if the interface provided by the library automatically constructed metric names, based on what it knew of the application doing the logging and the type of metric that is being logged. But at minimum it should balk (loudly!) at invalid names.\r\n* Instead of `timing()` and `endTiming()`, consider adopting `time()` and `timeEnd()`, for uniformity with the console API (which [Node.js implements](http://nodejs.org/api/console.html#console_console_timeend_label)).\r\n* Having the timing interface accept an array of metric names confuses the calling convention. [YAGNI](https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it). Let the caller iterate if it needs to."}}