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

moved traces summarization to top level

parent 436d8020
No related branches found
No related tags found
No related merge requests found
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;
}
......
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();
......
......@@ -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) {
......
......@@ -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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment