Skip to content
Snippets Groups Projects
Commit 6d962415 authored by Florian Fittkau's avatar Florian Fittkau
Browse files

fixed summarization bug

parent 4e06d1ac
No related branches found
No related tags found
No related merge requests found
package explorviz.live_trace_processing.filter.reduction;
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
......@@ -78,7 +77,7 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR
final AbstractBeforeOperationEventRecord abstractBeforeOperationEventRecord = (AbstractBeforeOperationEventRecord) abstractBeforeEventRecord;
abstractBeforeOperationEventRecord.getRuntimeStatisticInformation()
.makeAccumulator(abstractBeforeOperationEventRecord.getObjectId());
.makeAccumulator(abstractBeforeOperationEventRecord.getObjectId());
} else {
abstractBeforeEventRecord.getRuntimeStatisticInformation().makeAccumulator(0);
......@@ -89,21 +88,17 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR
private void processTimeoutQueue(final long timestamp) {
final long bufferTimeout = timestamp - maxCollectionDuration;
final List<Trace> toRemove = new ArrayList<Trace>();
for (final Entry<Trace, TracesSummarizationBuffer> traceBufferEntrySet : trace2buffer
.entrySet()) {
final Iterator<Entry<Trace, TracesSummarizationBuffer>> iter = trace2buffer.entrySet()
.iterator();
if (traceBufferEntrySet.getValue().getBufferCreatedTimestamp() <= bufferTimeout) {
final Trace aggregatedTrace = traceBufferEntrySet.getValue().getAggregatedTrace();
while (iter.hasNext()) {
final Entry<Trace, TracesSummarizationBuffer> traceBufferEntry = iter.next();
deliver(aggregatedTrace);
toRemove.add(traceBufferEntrySet.getKey());
}
if (traceBufferEntry.getValue().getBufferCreatedTimestamp() <= bufferTimeout) {
final Trace aggregatedTrace = traceBufferEntry.getValue().getAggregatedTrace();
}
for (final Trace trace : toRemove) {
if (trace2buffer.remove(trace) == null) {
System.out.println("no trace found :(");
deliver(aggregatedTrace);
iter.remove();
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment