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