Minor nit.  The metrics code for the dict and timer maps assumes that the caller is well behaved (which in this case it is) and isn't going to be polluting the map and just eat all the memory.

Do we really need to be dumping metrics out?  Is statsd really insufficient?