From 4e06d1ac9e55b87bef3f70333884fa887552fb66 Mon Sep 17 00:00:00 2001 From: Florian Fittkau <ffi@informatik.uni-kiel.de> Date: Thu, 5 Feb 2015 18:13:50 +0100 Subject: [PATCH] minor --- .../reduction/TracesSummarizationFilter.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java index 0f56a6e..9513a2f 100644 --- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java +++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java @@ -3,6 +3,7 @@ package explorviz.live_trace_processing.filter.reduction; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.TreeMap; import explorviz.live_trace_processing.Constants; @@ -77,7 +78,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,15 +90,21 @@ 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 TracesSummarizationBuffer traceBuffer : trace2buffer.values()) { - if (traceBuffer.getBufferCreatedTimestamp() <= bufferTimeout) { - final Trace aggregatedTrace = traceBuffer.getAggregatedTrace(); + for (final Entry<Trace, TracesSummarizationBuffer> traceBufferEntrySet : trace2buffer + .entrySet()) { + + if (traceBufferEntrySet.getValue().getBufferCreatedTimestamp() <= bufferTimeout) { + final Trace aggregatedTrace = traceBufferEntrySet.getValue().getAggregatedTrace(); + deliver(aggregatedTrace); - toRemove.add(aggregatedTrace); + toRemove.add(traceBufferEntrySet.getKey()); } + } - for (final Trace traceEventRecords : toRemove) { - trace2buffer.remove(traceEventRecords); + for (final Trace trace : toRemove) { + if (trace2buffer.remove(trace) == null) { + System.out.println("no trace found :("); + } } } -- GitLab