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

fixed reduce bug

parent 8eac8c07
No related branches found
No related tags found
No related merge requests found
...@@ -3,7 +3,7 @@ package explorviz.live_trace_processing.filter.counting; ...@@ -3,7 +3,7 @@ package explorviz.live_trace_processing.filter.counting;
import explorviz.live_trace_processing.filter.AbstractFilter; import explorviz.live_trace_processing.filter.AbstractFilter;
import explorviz.live_trace_processing.filter.IPipeReceiver; import explorviz.live_trace_processing.filter.IPipeReceiver;
import explorviz.live_trace_processing.record.IRecord; 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.event.AbstractEventRecord;
import explorviz.live_trace_processing.record.misc.TerminateRecord; import explorviz.live_trace_processing.record.misc.TerminateRecord;
import explorviz.live_trace_processing.record.misc.TimedPeriodRecord; import explorviz.live_trace_processing.record.misc.TimedPeriodRecord;
...@@ -21,14 +21,14 @@ public class RecordCountingFilter extends AbstractFilter implements IRecordCount ...@@ -21,14 +21,14 @@ public class RecordCountingFilter extends AbstractFilter implements IRecordCount
if (record instanceof Trace) { if (record instanceof Trace) {
final Trace trace = (Trace) record; final Trace trace = (Trace) record;
for (final AbstractEventRecord event : trace.getTraceEvents()) { for (final AbstractEventRecord event : trace.getTraceEvents()) {
if (event instanceof AbstractBeforeEventRecord) { if (event instanceof AbstractBeforeOperationEventRecord) {
final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event; final AbstractBeforeOperationEventRecord abstractBeforeEventRecord = (AbstractBeforeOperationEventRecord) event;
counter.inputObjectsCount(abstractBeforeEventRecord counter.inputObjectsCount(abstractBeforeEventRecord
.getRuntimeStatisticInformation().getCount()); .getRuntimeStatisticInformation().getCount());
} }
} }
deliver(record); deliver(record);
} else if (record instanceof AbstractBeforeEventRecord) { } else if (record instanceof AbstractBeforeOperationEventRecord) {
counter.inputObjectsCount(1); counter.inputObjectsCount(1);
deliver(record); deliver(record);
} else if (record instanceof TimedPeriodRecord) { } else if (record instanceof TimedPeriodRecord) {
......
...@@ -8,9 +8,7 @@ import explorviz.live_trace_processing.Constants; ...@@ -8,9 +8,7 @@ import explorviz.live_trace_processing.Constants;
import explorviz.live_trace_processing.reader.TimeProvider; import explorviz.live_trace_processing.reader.TimeProvider;
import explorviz.live_trace_processing.record.event.AbstractAfterEventRecord; import explorviz.live_trace_processing.record.event.AbstractAfterEventRecord;
import explorviz.live_trace_processing.record.event.AbstractAfterFailedEventRecord; 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.AbstractBeforeEventRecord;
import explorviz.live_trace_processing.record.event.AbstractBeforeRemoteEventRecord;
import explorviz.live_trace_processing.record.event.AbstractEventRecord; import explorviz.live_trace_processing.record.event.AbstractEventRecord;
import explorviz.live_trace_processing.record.trace.RuntimeStatisticInformation; import explorviz.live_trace_processing.record.trace.RuntimeStatisticInformation;
import explorviz.live_trace_processing.record.trace.Trace; import explorviz.live_trace_processing.record.trace.Trace;
...@@ -36,11 +34,8 @@ class TraceReconstructionBuffer { ...@@ -36,11 +34,8 @@ class TraceReconstructionBuffer {
beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1, -1, -1)); beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1, -1, -1));
// TODO if invalid, trace would be null... // TODO if invalid, trace would be null...
} else if ((event instanceof AbstractAfterFailedEventRecord) } else if ((event instanceof AbstractAfterFailedEventRecord)
|| (event instanceof AbstractAfterEventRecord) || (event instanceof AbstractAfterEventRecord)) {
|| (event instanceof AbstractAfterRemoteEventRecord)) {
openEvents--; openEvents--;
} else if ((event instanceof AbstractBeforeRemoteEventRecord)) {
openEvents++;
} }
events.add(event); events.add(event);
......
...@@ -4,7 +4,7 @@ import java.util.ArrayList; ...@@ -4,7 +4,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry; 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.Constants;
import explorviz.live_trace_processing.filter.AbstractFilter; import explorviz.live_trace_processing.filter.AbstractFilter;
...@@ -19,7 +19,7 @@ import explorviz.live_trace_processing.record.trace.Trace; ...@@ -19,7 +19,7 @@ import explorviz.live_trace_processing.record.trace.Trace;
public final class TraceReconstructionFilter extends AbstractFilter implements ITraceReconstruction { public final class TraceReconstructionFilter extends AbstractFilter implements ITraceReconstruction {
private final long maxTraceTimeout; 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, public TraceReconstructionFilter(final long maxTraceTimeout,
final ITraceReduction traceReduction) { final ITraceReduction traceReduction) {
......
...@@ -3,6 +3,7 @@ package explorviz.live_trace_processing.filter.reduction; ...@@ -3,6 +3,7 @@ package explorviz.live_trace_processing.filter.reduction;
import java.util.List; import java.util.List;
import explorviz.live_trace_processing.record.event.AbstractBeforeEventRecord; 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.event.AbstractEventRecord;
import explorviz.live_trace_processing.record.trace.Trace; import explorviz.live_trace_processing.record.trace.Trace;
...@@ -38,9 +39,17 @@ class TracesSummarizationBuffer { ...@@ -38,9 +39,17 @@ class TracesSummarizationBuffer {
final AbstractBeforeEventRecord abstractBeforeEventRecord2 = (AbstractBeforeEventRecord) records final AbstractBeforeEventRecord abstractBeforeEventRecord2 = (AbstractBeforeEventRecord) records
.get(i); .get(i);
if (abstractBeforeEventRecord2 instanceof AbstractBeforeOperationEventRecord) {
final AbstractBeforeOperationEventRecord abstractBeforeOperationEventRecord = (AbstractBeforeOperationEventRecord) abstractBeforeEventRecord2;
abstractBeforeEventRecord
.getRuntimeStatisticInformation()
.merge(abstractBeforeOperationEventRecord
.getRuntimeStatisticInformation(),
abstractBeforeOperationEventRecord.getObjectId());
} else {
abstractBeforeEventRecord.getRuntimeStatisticInformation().merge( abstractBeforeEventRecord.getRuntimeStatisticInformation().merge(
abstractBeforeEventRecord2.getRuntimeStatisticInformation(), abstractBeforeEventRecord2.getRuntimeStatisticInformation(), 0);
abstractBeforeEventRecord2.getObjectId()); }
} }
} }
} }
......
...@@ -3,7 +3,7 @@ package explorviz.live_trace_processing.filter.reduction; ...@@ -3,7 +3,7 @@ package explorviz.live_trace_processing.filter.reduction;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentSkipListMap; import java.util.TreeMap;
import explorviz.live_trace_processing.Constants; import explorviz.live_trace_processing.Constants;
import explorviz.live_trace_processing.filter.AbstractFilter; import explorviz.live_trace_processing.filter.AbstractFilter;
...@@ -11,6 +11,7 @@ import explorviz.live_trace_processing.filter.IPipeReceiver; ...@@ -11,6 +11,7 @@ import explorviz.live_trace_processing.filter.IPipeReceiver;
import explorviz.live_trace_processing.reader.TimeProvider; import explorviz.live_trace_processing.reader.TimeProvider;
import explorviz.live_trace_processing.record.IRecord; import explorviz.live_trace_processing.record.IRecord;
import explorviz.live_trace_processing.record.event.AbstractBeforeEventRecord; 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.event.AbstractEventRecord;
import explorviz.live_trace_processing.record.misc.TerminateRecord; import explorviz.live_trace_processing.record.misc.TerminateRecord;
import explorviz.live_trace_processing.record.misc.TimedPeriodRecord; import explorviz.live_trace_processing.record.misc.TimedPeriodRecord;
...@@ -20,7 +21,7 @@ import explorviz.live_trace_processing.record.trace.TraceComperator; ...@@ -20,7 +21,7 @@ import explorviz.live_trace_processing.record.trace.TraceComperator;
public class TracesSummarizationFilter extends AbstractFilter implements ITraceReduction { public class TracesSummarizationFilter extends AbstractFilter implements ITraceReduction {
private final long maxCollectionDuration; 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()); new TraceComperator());
public TracesSummarizationFilter(final long maxCollectionDuration, public TracesSummarizationFilter(final long maxCollectionDuration,
...@@ -71,8 +72,16 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR ...@@ -71,8 +72,16 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR
final AbstractEventRecord event = trace.getTraceEvents().get(i); final AbstractEventRecord event = trace.getTraceEvents().get(i);
if (event instanceof AbstractBeforeEventRecord) { if (event instanceof AbstractBeforeEventRecord) {
final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event; 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);
}
} }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment