package org.wildfly.swarm.bootstrap.performance;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author Bob McWhirter
*/
public class Accumulator {
private final String description;
private List<TimedEvent> children = new ArrayList<>();
Accumulator(String description) {
this.description = description;
}
TimedEvent newChild() {
TimedEvent event = new TimedEvent();
this.children.add(event);
return event;
}
public void dump(long l, StringBuilder str) {
long ms = this.children.stream()
.collect(Collectors.summingLong(e -> e.durationMs()));
str.append(String.format("%-80s...%s", this.description, Performance.formatTime(ms)));
str.append("\n");
}
}