diff --git a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java index ea5626968f8c150748142f21f6755225b988446a..502fd82fdb876befaf25dc670870397ae8c0bceb 100644 --- a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java +++ b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java @@ -32,6 +32,7 @@ class TraceReconstructionBuffer { openEvents++; final AbstractBeforeEventRecord beforeEvent = (AbstractBeforeEventRecord) event; beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1, -1, -1)); // TODO + // if // invalid, // trace diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java index d000ac96ae515d1d9ceb778aea59e73d8b5c04c6..18ee675983b2f61e8b6855435751aa67066e9dea 100644 --- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java +++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java @@ -25,16 +25,6 @@ class TracesSummarizationBuffer { public void insertTrace(final Trace trace) { if (accumulator == null) { accumulator = trace; - - 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()); - } - } - } else { final List<AbstractEventRecord> aggregatedRecords = accumulator.getTraceEvents(); final List<AbstractEventRecord> records = trace.getTraceEvents(); @@ -45,6 +35,7 @@ class TracesSummarizationBuffer { final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event; final AbstractBeforeEventRecord abstractBeforeEventRecord2 = (AbstractBeforeEventRecord) records .get(i); + abstractBeforeEventRecord.getRuntimeStatisticInformation().merge( abstractBeforeEventRecord2.getRuntimeStatisticInformation(), abstractBeforeEventRecord2.getObjectId()); diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java index 7e9124f3afed0dc9d0566fcf410cdf9539e93ece..95893c553359a5b0bee6eb2dfe99c781d24a5795 100644 --- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java +++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java @@ -10,6 +10,8 @@ import explorviz.live_trace_processing.filter.AbstractFilter; import explorviz.live_trace_processing.filter.IPipeReceiver; import explorviz.live_trace_processing.reader.TimeProvider; import explorviz.live_trace_processing.record.IRecord; +import explorviz.live_trace_processing.record.event.AbstractBeforeEventRecord; +import explorviz.live_trace_processing.record.event.AbstractEventRecord; import explorviz.live_trace_processing.record.misc.TerminateRecord; import explorviz.live_trace_processing.record.misc.TimedPeriodRecord; import explorviz.live_trace_processing.record.trace.Trace; @@ -35,6 +37,16 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR public void processRecord(final IRecord record) { 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 {