From 5f9e3aa68b4e2934e31f0ebcebdc6a239ed8d83b Mon Sep 17 00:00:00 2001
From: Florian Fittkau <ffi@informatik.uni-kiel.de>
Date: Fri, 28 Feb 2014 12:28:07 +0100
Subject: [PATCH] minor

---
 ...z.live_trace_processing.default.properties |  2 +-
 .../TraceReconstructionBuffer.java            | 22 ++++++---------
 .../TraceReconstructionFilter.java            | 28 ++++---------------
 3 files changed, 14 insertions(+), 38 deletions(-)

diff --git a/src/META-INF/explorviz.live_trace_processing.default.properties b/src/META-INF/explorviz.live_trace_processing.default.properties
index f50fe0b..2ca95e1 100644
--- a/src/META-INF/explorviz.live_trace_processing.default.properties
+++ b/src/META-INF/explorviz.live_trace_processing.default.properties
@@ -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
diff --git a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java
index 4a71766..ebb21e4 100644
--- a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java
+++ b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java
@@ -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)) {
diff --git a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionFilter.java b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionFilter.java
index 0ba6b43..9dce7c9 100644
--- a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionFilter.java
+++ b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionFilter.java
@@ -1,7 +1,6 @@
 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();
-			}
+			traceBuffer = new TraceReconstructionBuffer();
 			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();
 	}
-- 
GitLab