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