Queue processor starts threads consuming queues to flush metrics
Queue processor starts threads consuming queues to flush metrics

So the flushing threads are not disposed after each flush operation.
This helps to save some time/resources by not creating new threads on
each flush operation, in the cost of some extra memory allocated for
each flush queue.
Each destination has its own queue to consume so the metrics data to be
flushed is going to be duplicated on each destination queue, but we're
expecting these queues to be consumed fast and the metrics data (already
aggregated) is just a dict of string to numbers which should not be a
huge data structure.

farzadghanei/navdoon