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

minor

parent ba81d6db
Branches
Tags
No related merge requests found
......@@ -17,7 +17,7 @@ explorviz.live_trace_processing.tcp_reader_disruptor_size=32
explorviz.live_trace_processing.trace_reconstruction_output_buffer_size=512
explorviz.live_trace_processing.trace_reconstruction_disruptor_size=32
explorviz.live_trace_processing.trace_reconstruction_buffer_initial_size=128
explorviz.live_trace_processing.trace_reconstruction_buffer_initial_size=1024
explorviz.live_trace_processing.trace_summarization_output_buffer_size=64
explorviz.live_trace_processing.trace_summarization_disruptor_size=16
......
......@@ -24,20 +24,20 @@ class TraceReconstructionBuffer {
private long lastBufferInsert = -1;
private int maxOrderIndex = -1;
public void clear() {
events.clear();
openEvents = 0;
updatedInThisPeriod = true;
lastBufferInsert = -1;
maxOrderIndex = -1;
}
public final void insertEvent(final AbstractEventRecord event) {
updatedInThisPeriod = true;
setMaxOrderIndex(event);
if (event instanceof AbstractBeforeEventRecord) {
openEvents++;
final AbstractBeforeEventRecord beforeEvent = (AbstractBeforeEventRecord) event;
beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1, -1, -1)); // TODO
// if
// invalid
// trace
// would
// be
// null...
} else if ((event instanceof AbstractAfterFailedEventRecord)
|| (event instanceof AbstractAfterEventRecord)) {
openEvents--;
......@@ -79,16 +79,10 @@ class TraceReconstructionBuffer {
}
public final Trace toTrace(final boolean valid) {
if (events.isEmpty()) {
return null;
}
final Stack<AbstractBeforeEventRecord> stack = new Stack<AbstractBeforeEventRecord>();
for (final AbstractEventRecord event : events) {
if (event instanceof AbstractBeforeEventRecord) {
final AbstractBeforeEventRecord beforeEvent = (AbstractBeforeEventRecord) event;
beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1, -1,
-1)); // TODO if invalid trace would be null...
stack.push(beforeEvent);
} else if ((event instanceof AbstractAfterEventRecord)
|| (event instanceof AbstractAfterFailedEventRecord)) {
......
package explorviz.live_trace_processing.filter.reconstruction;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
......@@ -21,7 +20,6 @@ public final class TraceReconstructionFilter extends AbstractFilter implements I
private final long maxTraceTimeout;
private final Map<Long, TraceReconstructionBuffer> traceId2trace = new ConcurrentSkipListMap<Long, TraceReconstructionBuffer>();
private final LinkedList<TraceReconstructionBuffer> freeBufferCache = new LinkedList<TraceReconstructionBuffer>();
public TraceReconstructionFilter(final long maxTraceTimeout,
final ITraceReduction traceReduction) {
......@@ -41,13 +39,9 @@ public final class TraceReconstructionFilter extends AbstractFilter implements I
traceBuffer.insertEvent(abstractOperationEvent);
if (traceBuffer.isFinished()) {
deliver(traceBuffer.toTrace(true));
traceId2trace.remove(traceId);
traceBuffer.clear();
freeBufferCache.addLast(traceBuffer);
final Trace trace = traceBuffer.toTrace(true);
if (trace != null) {
deliver(trace);
}
}
} else if (record instanceof Trace) {
final Trace trace = (Trace) record;
......@@ -71,11 +65,7 @@ public final class TraceReconstructionFilter extends AbstractFilter implements I
private final TraceReconstructionBuffer getBufferForTraceId(final long traceId) {
TraceReconstructionBuffer traceBuffer = traceId2trace.get(traceId);
if (traceBuffer == null) {
if (freeBufferCache.isEmpty()) {
traceBuffer = new TraceReconstructionBuffer();
} else {
traceBuffer = freeBufferCache.removeFirst();
}
traceId2trace.put(traceId, traceBuffer);
}
return traceBuffer;
......@@ -93,13 +83,8 @@ public final class TraceReconstructionFilter extends AbstractFilter implements I
traceBuffer.updateLastBufferInsert();
if ((timestamp - traceBuffer.getLastBufferInsert()) <= traceTimeout) {
final Trace trace = traceBuffer.toTrace(false);
if (trace != null) {
deliver(trace);
}
deliver(traceBuffer.toTrace(false));
traceIdsToRemove.add(entry.getKey());
traceBuffer.clear();
freeBufferCache.addLast(traceBuffer);
}
}
}
......@@ -111,10 +96,7 @@ public final class TraceReconstructionFilter extends AbstractFilter implements I
private void terminate() {
for (final TraceReconstructionBuffer entry : traceId2trace.values()) {
final Trace trace = entry.toTrace(false);
if (trace != null) {
deliver(trace);
}
deliver(entry.toTrace(false));
}
traceId2trace.clear();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment