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

minor

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