private void printMetrics(PrintStream out, RouteMetricSet metrics) {
        for (MessageTypeMetricSet m : metrics.getMetrics().values()) {
            long timeSinceStart = timer.milliTime() - startTime;
            out.println(m.getMessageName() + ":\t" +
                    "ok: " + m.count +
                    " msgs/sec: " + format.format((double)m.count * 1000 / timeSinceStart) +
                    " failed: " + m.errorCount +
                    " ignored: " + m.ignored +
                    " latency(min, max, avg): " + m.latency_min + ", " + m.latency_max + ", " + m.latency_total/Long.max(1L, m.count));
        }
    }
Class that takes progress from the feed and prints to a stream.
vespaclient-java/src/main/java/com/yahoo/vespafeeder/ProgressPrinter.java