diff --git a/src/explorviz/live_trace_processing/filter/counting/RecordCountingFilter.java b/src/explorviz/live_trace_processing/filter/counting/RecordCountingFilter.java index 64fda9405fc50ba69810b580d3686ef1a2d6503f..06034c7f0551768beb0d8b12abac3e30662b687b 100644 --- a/src/explorviz/live_trace_processing/filter/counting/RecordCountingFilter.java +++ b/src/explorviz/live_trace_processing/filter/counting/RecordCountingFilter.java @@ -3,7 +3,7 @@ package explorviz.live_trace_processing.filter.counting; import explorviz.live_trace_processing.filter.AbstractFilter; import explorviz.live_trace_processing.filter.IPipeReceiver; import explorviz.live_trace_processing.record.IRecord; -import explorviz.live_trace_processing.record.event.AbstractBeforeEventRecord; +import explorviz.live_trace_processing.record.event.AbstractBeforeOperationEventRecord; import explorviz.live_trace_processing.record.event.AbstractEventRecord; import explorviz.live_trace_processing.record.misc.TerminateRecord; import explorviz.live_trace_processing.record.misc.TimedPeriodRecord; @@ -21,14 +21,14 @@ public class RecordCountingFilter extends AbstractFilter implements IRecordCount if (record instanceof Trace) { final Trace trace = (Trace) record; for (final AbstractEventRecord event : trace.getTraceEvents()) { - if (event instanceof AbstractBeforeEventRecord) { - final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event; + if (event instanceof AbstractBeforeOperationEventRecord) { + final AbstractBeforeOperationEventRecord abstractBeforeEventRecord = (AbstractBeforeOperationEventRecord) event; counter.inputObjectsCount(abstractBeforeEventRecord .getRuntimeStatisticInformation().getCount()); } } deliver(record); - } else if (record instanceof AbstractBeforeEventRecord) { + } else if (record instanceof AbstractBeforeOperationEventRecord) { counter.inputObjectsCount(1); deliver(record); } else if (record instanceof TimedPeriodRecord) { diff --git a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java index 0bd59fc30ce011c2588e94ef9eac2bf6aeaae344..7ce0d52b169a05aa689f7b63c20d4ce6722e7f81 100644 --- a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java +++ b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java @@ -8,9 +8,7 @@ import explorviz.live_trace_processing.Constants; import explorviz.live_trace_processing.reader.TimeProvider; import explorviz.live_trace_processing.record.event.AbstractAfterEventRecord; import explorviz.live_trace_processing.record.event.AbstractAfterFailedEventRecord; -import explorviz.live_trace_processing.record.event.AbstractAfterRemoteEventRecord; import explorviz.live_trace_processing.record.event.AbstractBeforeEventRecord; -import explorviz.live_trace_processing.record.event.AbstractBeforeRemoteEventRecord; import explorviz.live_trace_processing.record.event.AbstractEventRecord; import explorviz.live_trace_processing.record.trace.RuntimeStatisticInformation; import explorviz.live_trace_processing.record.trace.Trace; @@ -36,11 +34,8 @@ class TraceReconstructionBuffer { beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1, -1, -1)); // TODO if invalid, trace would be null... } else if ((event instanceof AbstractAfterFailedEventRecord) - || (event instanceof AbstractAfterEventRecord) - || (event instanceof AbstractAfterRemoteEventRecord)) { + || (event instanceof AbstractAfterEventRecord)) { openEvents--; - } else if ((event instanceof AbstractBeforeRemoteEventRecord)) { - openEvents++; } events.add(event); diff --git a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionFilter.java b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionFilter.java index d08597277d8089e262574f9c5ee66fbe82a3d051..cb5a78a41ad4c02dc82d1523cefa413a4904e673 100644 --- a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionFilter.java +++ b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionFilter.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.ConcurrentSkipListMap; +import java.util.TreeMap; import explorviz.live_trace_processing.Constants; import explorviz.live_trace_processing.filter.AbstractFilter; @@ -19,7 +19,7 @@ import explorviz.live_trace_processing.record.trace.Trace; public final class TraceReconstructionFilter extends AbstractFilter implements ITraceReconstruction { private final long maxTraceTimeout; - private final Map<Long, TraceReconstructionBuffer> traceId2trace = new ConcurrentSkipListMap<Long, TraceReconstructionBuffer>(); + private final Map<Long, TraceReconstructionBuffer> traceId2trace = new TreeMap<Long, TraceReconstructionBuffer>(); public TraceReconstructionFilter(final long maxTraceTimeout, final ITraceReduction traceReduction) { diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java index 5f1cbf414b8e40d707810aa7d86a9ce31dcd6a06..f276652826e996263fe7906389d7109dd9b55a5b 100644 --- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java +++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java @@ -3,6 +3,7 @@ package explorviz.live_trace_processing.filter.reduction; import java.util.List; import explorviz.live_trace_processing.record.event.AbstractBeforeEventRecord; +import explorviz.live_trace_processing.record.event.AbstractBeforeOperationEventRecord; import explorviz.live_trace_processing.record.event.AbstractEventRecord; import explorviz.live_trace_processing.record.trace.Trace; @@ -38,9 +39,17 @@ class TracesSummarizationBuffer { final AbstractBeforeEventRecord abstractBeforeEventRecord2 = (AbstractBeforeEventRecord) records .get(i); - abstractBeforeEventRecord.getRuntimeStatisticInformation().merge( - abstractBeforeEventRecord2.getRuntimeStatisticInformation(), - abstractBeforeEventRecord2.getObjectId()); + if (abstractBeforeEventRecord2 instanceof AbstractBeforeOperationEventRecord) { + final AbstractBeforeOperationEventRecord abstractBeforeOperationEventRecord = (AbstractBeforeOperationEventRecord) abstractBeforeEventRecord2; + abstractBeforeEventRecord + .getRuntimeStatisticInformation() + .merge(abstractBeforeOperationEventRecord + .getRuntimeStatisticInformation(), + abstractBeforeOperationEventRecord.getObjectId()); + } else { + abstractBeforeEventRecord.getRuntimeStatisticInformation().merge( + abstractBeforeEventRecord2.getRuntimeStatisticInformation(), 0); + } } } } diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java index 711f320bac23a6d8b1370d9cd8c3ef684a721302..0f56a6e3a7f592e9b7d7ee5d4a19ebd3491beeb3 100644 --- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java +++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java @@ -3,7 +3,7 @@ package explorviz.live_trace_processing.filter.reduction; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.concurrent.ConcurrentSkipListMap; +import java.util.TreeMap; import explorviz.live_trace_processing.Constants; import explorviz.live_trace_processing.filter.AbstractFilter; @@ -11,6 +11,7 @@ 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.AbstractBeforeOperationEventRecord; import explorviz.live_trace_processing.record.event.AbstractEventRecord; import explorviz.live_trace_processing.record.misc.TerminateRecord; import explorviz.live_trace_processing.record.misc.TimedPeriodRecord; @@ -20,7 +21,7 @@ import explorviz.live_trace_processing.record.trace.TraceComperator; public class TracesSummarizationFilter extends AbstractFilter implements ITraceReduction { private final long maxCollectionDuration; - private final Map<Trace, TracesSummarizationBuffer> trace2buffer = new ConcurrentSkipListMap<Trace, TracesSummarizationBuffer>( + private final Map<Trace, TracesSummarizationBuffer> trace2buffer = new TreeMap<Trace, TracesSummarizationBuffer>( new TraceComperator()); public TracesSummarizationFilter(final long maxCollectionDuration, @@ -71,8 +72,16 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR final AbstractEventRecord event = trace.getTraceEvents().get(i); if (event instanceof AbstractBeforeEventRecord) { final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event; - abstractBeforeEventRecord.getRuntimeStatisticInformation().makeAccumulator( - abstractBeforeEventRecord.getObjectId()); + + if (abstractBeforeEventRecord instanceof AbstractBeforeOperationEventRecord) { + final AbstractBeforeOperationEventRecord abstractBeforeOperationEventRecord = (AbstractBeforeOperationEventRecord) abstractBeforeEventRecord; + + abstractBeforeOperationEventRecord.getRuntimeStatisticInformation() + .makeAccumulator(abstractBeforeOperationEventRecord.getObjectId()); + } else { + abstractBeforeEventRecord.getRuntimeStatisticInformation().makeAccumulator(0); + + } } } }