All parsoid workers send their heap usage to the same statsd metric once per 5 minutes. Statsd aggregates its received metrics once every 1 minute, so it basically gets a 20% selection of workers, depending on the time each worker was started, with the selection changing once per minute, leading to oscillation in the final metric with a period of 5 minutes.
{F2663479}
This is presumably not the way it should be done. An alternative would be to have workers send performance metrics as messages to the parent, and have the parent aggregate and send them, with one statsd metric name per server. That way, statsd will have a stable per-server metric which can be aggregated in graphite.
While we're at it, it would be nice to have per-server metrics for connection count (server.getConnections()).