container/src/main/java/com/streamsets/datacollector/usagestats/ActiveStats.java
public ActiveStats roll() {
    long now = System.currentTimeMillis();
    setEndTime(now);
    ActiveStats statsBean = new ActiveStats().setStartTime(now)
                                             .setDataCollectorVersion(getDataCollectorVersion())
                                             .setDpmEnabled(isDpmEnabled())
                                             .setUpTime(getUpTime().roll());
    statsBean.setPipelines(getPipelines().stream().map(UsageTimer::roll).collect(Collectors.toList()));
    statsBean.setStages(getStages().stream()
                                   .filter(timer -> timer.getMultiplier() > 0)
                                   .map(UsageTimer::roll)
                                   .collect(Collectors.toList()));
    return statsBean;
  }
public ActiveStats roll() {
    long now = System.currentTimeMillis();
    setEndTime(now);
    ActiveStats statsBean = new ActiveStats().setStartTime(now)
                                             .setDataCollectorVersion(getDataCollectorVersion())
                                             .setDpmEnabled(isDpmEnabled())
                                             .setUpTime(getUpTime().roll());
    statsBean.setPipelines(getPipelines().stream().map(UsageTimer::roll).collect(Collectors.toList()));
    statsBean.setStages(getStages().stream()
                                   .filter(timer -> timer.getMultiplier() > 0)
                                   .map(UsageTimer::roll)
                                   .collect(Collectors.toList()));
    return statsBean;
  }
returns fresh bean with same UsageTimers just reset to zero accumulated time to be used as the new live stats