Done is better than perfect.
That is one of Spil Games Engineering’s principles and it is really something I embrace. Almost one and a half year ago, Engineering started to use StatsD and Graphite for collecting and graphing performance metrics and one year ago I got fed up that there was, except for a couple of abandoned projects, no real drop in solution for getting a daemon sending performance metrics via StatsD into Graphite . So I created my own daemon on a Friday afternoon in Python and it was indeed done and not perfect.
Last April our talk regarding Statsd, Graphite and MySQL performance monitoring got accepted at Percona Live Conference & Expo in Santa Clara. I presented our Graphite setup and tried to convince other people to also start using Graphite and StatsD to collect basically any metric you like and promised we would rewrite the simple daemon I wrote.
In hindsight I probably should have chosen a different subject as my first Python project and not much of the original code was reusable. I got a lot of help from two colleagues who sacrificed/devoted their hackday to the rewrite and I in response tested the usability.
Today is the day we proudly present the rewrite of the mysql-statsd daemon: https://github.com/spilgames/mysql-statsd
It is far from perfect and the todo list is still long. You are, as it is a public repo, welcome to collaborate with us and make it even better. I can’t wait to see the first pull-request coming in!
You can also talk to us directly at Percona Live London where we will bring a revised version of our talk at Santa Clara. This time it will be aimed more at the practicality: It will contain less comparison with existing tools, be less theoretical and focus more on the how to do it.