From 9725e4d51939f9eb55a4a679cb746fc22a0d0dd6 Mon Sep 17 00:00:00 2001 From: Florian Fittkau <ffi@informatik.uni-kiel.de> Date: Tue, 20 May 2014 22:30:28 +0200 Subject: [PATCH] moved traces summarization to top level --- ...ffer.java => TracesSummarizationBuffer.java} | 6 +++--- ...lter.java => TracesSummarizationFilter.java} | 17 ++++++++--------- .../PatternSummarizationFilter.java | 1 + .../main/FilterConfiguration.java | 14 +++++++------- 4 files changed, 19 insertions(+), 19 deletions(-) rename src/explorviz/live_trace_processing/filter/reduction/{summarization/TracePatternSummarizationBuffer.java => TracesSummarizationBuffer.java} (87%) rename src/explorviz/live_trace_processing/filter/reduction/{summarization/TracePatternSummarizationFilter.java => TracesSummarizationFilter.java} (75%) diff --git a/src/explorviz/live_trace_processing/filter/reduction/summarization/TracePatternSummarizationBuffer.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java similarity index 87% rename from src/explorviz/live_trace_processing/filter/reduction/summarization/TracePatternSummarizationBuffer.java rename to src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java index 6a665c1..9622d7c 100644 --- a/src/explorviz/live_trace_processing/filter/reduction/summarization/TracePatternSummarizationBuffer.java +++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java @@ -1,4 +1,4 @@ -package explorviz.live_trace_processing.filter.reduction.summarization; +package explorviz.live_trace_processing.filter.reduction; import java.util.List; @@ -6,11 +6,11 @@ import explorviz.live_trace_processing.record.event.AbstractBeforeEventRecord; import explorviz.live_trace_processing.record.event.AbstractEventRecord; import explorviz.live_trace_processing.record.trace.Trace; -class TracePatternSummarizationBuffer { +class TracesSummarizationBuffer { private Trace accumulator; private final long bufferCreatedTimestamp; - public TracePatternSummarizationBuffer(final long bufferCreatedTimestamp) { + public TracesSummarizationBuffer(final long bufferCreatedTimestamp) { this.bufferCreatedTimestamp = bufferCreatedTimestamp; } diff --git a/src/explorviz/live_trace_processing/filter/reduction/summarization/TracePatternSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java similarity index 75% rename from src/explorviz/live_trace_processing/filter/reduction/summarization/TracePatternSummarizationFilter.java rename to src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java index 5903b08..7e9124f 100644 --- a/src/explorviz/live_trace_processing/filter/reduction/summarization/TracePatternSummarizationFilter.java +++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java @@ -1,4 +1,4 @@ -package explorviz.live_trace_processing.filter.reduction.summarization; +package explorviz.live_trace_processing.filter.reduction; import java.util.ArrayList; import java.util.List; @@ -8,7 +8,6 @@ import java.util.concurrent.ConcurrentSkipListMap; import explorviz.live_trace_processing.Constants; import explorviz.live_trace_processing.filter.AbstractFilter; import explorviz.live_trace_processing.filter.IPipeReceiver; -import explorviz.live_trace_processing.filter.reduction.ITraceReduction; import explorviz.live_trace_processing.reader.TimeProvider; import explorviz.live_trace_processing.record.IRecord; import explorviz.live_trace_processing.record.misc.TerminateRecord; @@ -16,15 +15,15 @@ import explorviz.live_trace_processing.record.misc.TimedPeriodRecord; import explorviz.live_trace_processing.record.trace.Trace; import explorviz.live_trace_processing.record.trace.TraceComperator; -public class TracePatternSummarizationFilter extends AbstractFilter implements ITraceReduction { +public class TracesSummarizationFilter extends AbstractFilter implements ITraceReduction { private final long maxCollectionDuration; - private final Map<Trace, TracePatternSummarizationBuffer> trace2buffer = new ConcurrentSkipListMap<Trace, TracePatternSummarizationBuffer>( + private final Map<Trace, TracesSummarizationBuffer> trace2buffer = new ConcurrentSkipListMap<Trace, TracesSummarizationBuffer>( new TraceComperator()); // TODO cache for buffer objects - public TracePatternSummarizationFilter(final long maxCollectionDuration, + public TracesSummarizationFilter(final long maxCollectionDuration, final IPipeReceiver sinkReceiver) { super(sinkReceiver, Constants.TRACE_SUMMARIZATION_DISRUPTOR_SIZE, Constants.TRACE_SUMMARIZATION_OUTPUT_BUFFER_SIZE, "Reduced traces/sec"); @@ -54,9 +53,9 @@ public class TracePatternSummarizationFilter extends AbstractFilter implements I } private void insertIntoBuffer(final Trace trace) { - TracePatternSummarizationBuffer traceAggregationBuffer = trace2buffer.get(trace); + TracesSummarizationBuffer traceAggregationBuffer = trace2buffer.get(trace); if (traceAggregationBuffer == null) { - traceAggregationBuffer = new TracePatternSummarizationBuffer( + traceAggregationBuffer = new TracesSummarizationBuffer( TimeProvider.getCurrentTimestamp()); trace2buffer.put(trace, traceAggregationBuffer); } @@ -66,7 +65,7 @@ public class TracePatternSummarizationFilter extends AbstractFilter implements I private void processTimeoutQueue(final long timestamp) { final long bufferTimeout = timestamp - maxCollectionDuration; final List<Trace> toRemove = new ArrayList<Trace>(); - for (final TracePatternSummarizationBuffer traceBuffer : trace2buffer.values()) { + for (final TracesSummarizationBuffer traceBuffer : trace2buffer.values()) { if (traceBuffer.getBufferCreatedTimestamp() <= bufferTimeout) { final Trace aggregatedTrace = traceBuffer.getAggregatedTrace(); deliver(aggregatedTrace); @@ -79,7 +78,7 @@ public class TracePatternSummarizationFilter extends AbstractFilter implements I } private void terminate() { - for (final TracePatternSummarizationBuffer traceBuffer : trace2buffer.values()) { + for (final TracesSummarizationBuffer traceBuffer : trace2buffer.values()) { deliver(traceBuffer.getAggregatedTrace()); } trace2buffer.clear(); diff --git a/src/explorviz/live_trace_processing/filter/reduction/summarization/PatternSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/summarization/PatternSummarizationFilter.java index 0526a8d..a1dfb57 100644 --- a/src/explorviz/live_trace_processing/filter/reduction/summarization/PatternSummarizationFilter.java +++ b/src/explorviz/live_trace_processing/filter/reduction/summarization/PatternSummarizationFilter.java @@ -61,6 +61,7 @@ public class PatternSummarizationFilter extends AbstractReductionFilter { final int traceLength = traceEvents.size(); int count = 0; final Stack<Integer> stack = new Stack<Integer>(); + while (index < traceLength) { final AbstractEventRecord event = traceEvents.get(index); if (event instanceof AbstractBeforeEventRecord) { diff --git a/src/explorviz/live_trace_processing/main/FilterConfiguration.java b/src/explorviz/live_trace_processing/main/FilterConfiguration.java index dbed37a..2547109 100644 --- a/src/explorviz/live_trace_processing/main/FilterConfiguration.java +++ b/src/explorviz/live_trace_processing/main/FilterConfiguration.java @@ -8,7 +8,7 @@ import explorviz.live_trace_processing.filter.ITraceSink; import explorviz.live_trace_processing.filter.reconstruction.ITraceReconstruction; import explorviz.live_trace_processing.filter.reconstruction.TraceReconstructionFilter; import explorviz.live_trace_processing.filter.reduction.ITraceReduction; -import explorviz.live_trace_processing.filter.reduction.language_based.RemoveConstructorsFilter; +import explorviz.live_trace_processing.filter.reduction.TracesSummarizationFilter; import explorviz.live_trace_processing.reader.TCPReader; public class FilterConfiguration { @@ -17,12 +17,12 @@ public class FilterConfiguration { // final IRecordCounting recordCounting = new // RecordCountingFilter(sink); - final ITraceReduction traceReduction = new RemoveConstructorsFilter(sink); - // final ITraceReduction traceReduction = new - // TreeSummarization(recordCounting); - // final ITraceReduction traceReduction = new - // TracePatternSummarizationFilter( - // TimeUnit.MILLISECONDS.toNanos(990), sink); + final ITraceReduction traceReduction = new TracesSummarizationFilter( + TimeUnit.MILLISECONDS.toNanos(990), sink); + + // final PatternSummarizationFilter oneTraceReduction = new + // PatternSummarizationFilter( + // traceReduction, 300, 1); final ITraceReconstruction traceReconstruction = new TraceReconstructionFilter( TimeUnit.SECONDS.toNanos(4), traceReduction); -- GitLab