Skip to content
Snippets Groups Projects
Commit 3f1fb1f8 authored by Sören Henning's avatar Sören Henning
Browse files

cleaned up TraceAnalysisConfiguration

parent 9e71a14c
No related branches found
No related tags found
1 merge request!17Get impletemented stages and Java 8
Pipeline #
......@@ -4,18 +4,11 @@
package kieker.analysis;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import kieker.analysis.dev.DependencyCreatorStage;
import kieker.analysis.dev.DependencyStatisticsDecoratorStage;
import kieker.analysis.domain.AggregatedOperationCall;
import kieker.analysis.domain.AggregatedTrace;
import kieker.analysis.domain.OperationCall;
import kieker.analysis.domain.Trace;
import kieker.analysis.stage.tracediagnosis.AllowedRecordsFilter;
import kieker.analysis.stage.tracediagnosis.BeginEndOfMonitoringDetector;
import kieker.analysis.stage.tracediagnosis.OperationCallHandlerComposite;
import kieker.analysis.stage.tracediagnosis.ReadingComposite;
import kieker.analysis.stage.tracediagnosis.TraceAggregationComposite;
import kieker.analysis.stage.tracediagnosis.TraceReconstructionComposite;
......@@ -25,36 +18,32 @@ import kieker.analysis.trace.traversal.TraceTraverserStage;
import kieker.analysis.util.graph.Graph;
import kieker.analysis.util.graph.export.graphml.GraphMLFileWriterStage;
import kieker.common.record.IMonitoringRecord;
import kieker.common.record.misc.KiekerMetadataRecord;
import teetime.framework.Configuration;
import teetime.stage.CollectorSink;
import teetime.stage.MultipleInstanceOfFilter;
import teetime.stage.basic.distributor.Distributor;
import teetime.stage.basic.distributor.strategy.CopyByReferenceStrategy;
/**
* This {@link Configuration} imports monitoring records from a directory and
* generate several graphs.
*
* @author Sören Henning
*
*/
public class TraceAnalysisConfiguration extends Configuration {
private final List<OperationCall> operationCalls = new ArrayList<>(1000);
private final List<AggregatedOperationCall> aggregatedOperationCalls = new ArrayList<>(1000);
private final List<KiekerMetadataRecord> metadataRecords = new ArrayList<>(1000);
private final TraceReconstructionComposite reconstruction;
private final BeginEndOfMonitoringDetector beginEndOfMonitoringDetector;
private final AllowedRecordsFilter allowedRecordsFilter;
public TraceAnalysisConfiguration(final File importDirectory) {
// Create the stages
final ReadingComposite reader = new ReadingComposite(importDirectory);
final MultipleInstanceOfFilter<IMonitoringRecord> typeFilter = new MultipleInstanceOfFilter<>();
final Distributor<Trace> distributor = new Distributor<>(new CopyByReferenceStrategy());
final TraceAggregationComposite aggregation = new TraceAggregationComposite();
final CollectorSink<KiekerMetadataRecord> metadataCollector = new CollectorSink<>(this.metadataRecords);
final OperationCallHandlerComposite operationCallHandler = new OperationCallHandlerComposite(this.operationCalls, this.aggregatedOperationCalls);
this.allowedRecordsFilter = new AllowedRecordsFilter();
this.beginEndOfMonitoringDetector = new BeginEndOfMonitoringDetector();
......@@ -66,9 +55,7 @@ public class TraceAnalysisConfiguration extends Configuration {
super.connectPorts(typeFilter.getOutputPortForType(IMonitoringRecord.class), this.beginEndOfMonitoringDetector.getInputPort());
super.connectPorts(this.beginEndOfMonitoringDetector.getOutputPort(), this.reconstruction.getInputPort());
super.connectPorts(this.reconstruction.getOutputPort(), distributor.getInputPort());
super.connectPorts(distributor.getNewOutputPort(), operationCallHandler.getInputPort());
super.connectPorts(distributor.getNewOutputPort(), aggregation.getInputPort());
super.connectPorts(typeFilter.getOutputPortForType(KiekerMetadataRecord.class), metadataCollector.getInputPort());
// Graph Creation
// TODO move to own composite(s)
......@@ -98,10 +85,10 @@ public class TraceAnalysisConfiguration extends Configuration {
super.connectPorts(graphDistributor2.getNewOutputPort(), graphMLFileWriterComposite2.getInputPort());
super.connectPorts(graphDistributor2.getNewOutputPort(), dotTraceGraphFileWriterStage2.getInputPort());
DependencyCreatorStage dependencyCreatorStage = new DependencyCreatorStage();
DependencyStatisticsDecoratorStage dependencyStatisticsDecoratorStage = new DependencyStatisticsDecoratorStage();
super.connectPorts(aggregatedTraceDistributor.getNewOutputPort(), dependencyCreatorStage.getInputPort());
super.connectPorts(dependencyCreatorStage.getOutputPort(), dependencyStatisticsDecoratorStage.getInputPort());
// DependencyCreatorStage dependencyCreatorStage = new DependencyCreatorStage();
// DependencyStatisticsDecoratorStage dependencyStatisticsDecoratorStage = new DependencyStatisticsDecoratorStage();
// super.connectPorts(aggregatedTraceDistributor.getNewOutputPort(), dependencyCreatorStage.getInputPort());
// super.connectPorts(dependencyCreatorStage.getOutputPort(), dependencyStatisticsDecoratorStage.getInputPort());
/*
*
......@@ -110,36 +97,4 @@ public class TraceAnalysisConfiguration extends Configuration {
}
public long getBeginTimestamp() {
return this.beginEndOfMonitoringDetector.getBeginTimestamp();
}
public long getEndTimestamp() {
return this.beginEndOfMonitoringDetector.getEndTimestamp();
}
public int countIncompleteTraces() {
return this.reconstruction.countIncompleteTraces();
}
public int countDanglingEvents() {
return this.reconstruction.countDanglingRecords();
}
public int countIgnoredRecords() {
return this.allowedRecordsFilter.getIgnoredRecords();
}
public List<KiekerMetadataRecord> getMetadataRecords() {
return this.metadataRecords;
}
public List<OperationCall> getOperationCalls() {
return this.operationCalls;
}
public List<AggregatedOperationCall> getAggregatedOperationCalls() {
return this.aggregatedOperationCalls;
}
}
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