The result you are aggregating here is just the number of metrics, rather than the dict containing the relevant data.

The actual data is written into a dict whose reference is available to the update_metrics function.  Splitting execution of this across multiple processes means that the dict is no longer merged back in.

What I'm saying is that this is currently too naive and needs more work around marshalling the results back into the dicts used by the tornado server to answer queries.