diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java index b08ffe5873dcc850e481b5edbc632fbf1b664b12..03dd4c67bd73bac764214e9338d8b48edd3e3033 100644 --- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java +++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java @@ -36,15 +36,6 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR if (record instanceof Trace) { final Trace trace = (Trace) record; - for (int i = 0; i < trace.getTraceEvents().size(); i++) { - final AbstractEventRecord event = trace.getTraceEvents().get(i); - if (event instanceof AbstractBeforeEventRecord) { - final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event; - abstractBeforeEventRecord.getRuntimeStatisticInformation().makeAccumulator( - abstractBeforeEventRecord.getObjectId()); - } - } - if (trace.isValid()) { insertIntoBuffer(trace); } else { @@ -65,6 +56,15 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR private void insertIntoBuffer(final Trace trace) { TracesSummarizationBuffer traceAggregationBuffer = trace2buffer.get(trace); if (traceAggregationBuffer == null) { + for (int i = 0; i < trace.getTraceEvents().size(); i++) { + final AbstractEventRecord event = trace.getTraceEvents().get(i); + if (event instanceof AbstractBeforeEventRecord) { + final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event; + abstractBeforeEventRecord.getRuntimeStatisticInformation().makeAccumulator( + abstractBeforeEventRecord.getObjectId()); + } + } + traceAggregationBuffer = new TracesSummarizationBuffer( TimeProvider.getCurrentTimestamp()); trace2buffer.put(trace, traceAggregationBuffer);