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 @@ ...@@ -4,18 +4,11 @@
package kieker.analysis; package kieker.analysis;
import java.io.File; 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.AggregatedTrace;
import kieker.analysis.domain.OperationCall;
import kieker.analysis.domain.Trace; import kieker.analysis.domain.Trace;
import kieker.analysis.stage.tracediagnosis.AllowedRecordsFilter; import kieker.analysis.stage.tracediagnosis.AllowedRecordsFilter;
import kieker.analysis.stage.tracediagnosis.BeginEndOfMonitoringDetector; import kieker.analysis.stage.tracediagnosis.BeginEndOfMonitoringDetector;
import kieker.analysis.stage.tracediagnosis.OperationCallHandlerComposite;
import kieker.analysis.stage.tracediagnosis.ReadingComposite; import kieker.analysis.stage.tracediagnosis.ReadingComposite;
import kieker.analysis.stage.tracediagnosis.TraceAggregationComposite; import kieker.analysis.stage.tracediagnosis.TraceAggregationComposite;
import kieker.analysis.stage.tracediagnosis.TraceReconstructionComposite; import kieker.analysis.stage.tracediagnosis.TraceReconstructionComposite;
...@@ -25,36 +18,32 @@ import kieker.analysis.trace.traversal.TraceTraverserStage; ...@@ -25,36 +18,32 @@ import kieker.analysis.trace.traversal.TraceTraverserStage;
import kieker.analysis.util.graph.Graph; import kieker.analysis.util.graph.Graph;
import kieker.analysis.util.graph.export.graphml.GraphMLFileWriterStage; import kieker.analysis.util.graph.export.graphml.GraphMLFileWriterStage;
import kieker.common.record.IMonitoringRecord; import kieker.common.record.IMonitoringRecord;
import kieker.common.record.misc.KiekerMetadataRecord;
import teetime.framework.Configuration; import teetime.framework.Configuration;
import teetime.stage.CollectorSink;
import teetime.stage.MultipleInstanceOfFilter; import teetime.stage.MultipleInstanceOfFilter;
import teetime.stage.basic.distributor.Distributor; import teetime.stage.basic.distributor.Distributor;
import teetime.stage.basic.distributor.strategy.CopyByReferenceStrategy; 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 { 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 TraceReconstructionComposite reconstruction;
private final BeginEndOfMonitoringDetector beginEndOfMonitoringDetector; private final BeginEndOfMonitoringDetector beginEndOfMonitoringDetector;
private final AllowedRecordsFilter allowedRecordsFilter; private final AllowedRecordsFilter allowedRecordsFilter;
public TraceAnalysisConfiguration(final File importDirectory) { public TraceAnalysisConfiguration(final File importDirectory) {
// Create the stages // Create the stages
final ReadingComposite reader = new ReadingComposite(importDirectory); final ReadingComposite reader = new ReadingComposite(importDirectory);
final MultipleInstanceOfFilter<IMonitoringRecord> typeFilter = new MultipleInstanceOfFilter<>(); final MultipleInstanceOfFilter<IMonitoringRecord> typeFilter = new MultipleInstanceOfFilter<>();
final Distributor<Trace> distributor = new Distributor<>(new CopyByReferenceStrategy()); final Distributor<Trace> distributor = new Distributor<>(new CopyByReferenceStrategy());
final TraceAggregationComposite aggregation = new TraceAggregationComposite(); 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.allowedRecordsFilter = new AllowedRecordsFilter();
this.beginEndOfMonitoringDetector = new BeginEndOfMonitoringDetector(); this.beginEndOfMonitoringDetector = new BeginEndOfMonitoringDetector();
...@@ -66,9 +55,7 @@ public class TraceAnalysisConfiguration extends Configuration { ...@@ -66,9 +55,7 @@ public class TraceAnalysisConfiguration extends Configuration {
super.connectPorts(typeFilter.getOutputPortForType(IMonitoringRecord.class), this.beginEndOfMonitoringDetector.getInputPort()); super.connectPorts(typeFilter.getOutputPortForType(IMonitoringRecord.class), this.beginEndOfMonitoringDetector.getInputPort());
super.connectPorts(this.beginEndOfMonitoringDetector.getOutputPort(), this.reconstruction.getInputPort()); super.connectPorts(this.beginEndOfMonitoringDetector.getOutputPort(), this.reconstruction.getInputPort());
super.connectPorts(this.reconstruction.getOutputPort(), distributor.getInputPort()); super.connectPorts(this.reconstruction.getOutputPort(), distributor.getInputPort());
super.connectPorts(distributor.getNewOutputPort(), operationCallHandler.getInputPort());
super.connectPorts(distributor.getNewOutputPort(), aggregation.getInputPort()); super.connectPorts(distributor.getNewOutputPort(), aggregation.getInputPort());
super.connectPorts(typeFilter.getOutputPortForType(KiekerMetadataRecord.class), metadataCollector.getInputPort());
// Graph Creation // Graph Creation
// TODO move to own composite(s) // TODO move to own composite(s)
...@@ -98,10 +85,10 @@ public class TraceAnalysisConfiguration extends Configuration { ...@@ -98,10 +85,10 @@ public class TraceAnalysisConfiguration extends Configuration {
super.connectPorts(graphDistributor2.getNewOutputPort(), graphMLFileWriterComposite2.getInputPort()); super.connectPorts(graphDistributor2.getNewOutputPort(), graphMLFileWriterComposite2.getInputPort());
super.connectPorts(graphDistributor2.getNewOutputPort(), dotTraceGraphFileWriterStage2.getInputPort()); super.connectPorts(graphDistributor2.getNewOutputPort(), dotTraceGraphFileWriterStage2.getInputPort());
DependencyCreatorStage dependencyCreatorStage = new DependencyCreatorStage(); // DependencyCreatorStage dependencyCreatorStage = new DependencyCreatorStage();
DependencyStatisticsDecoratorStage dependencyStatisticsDecoratorStage = new DependencyStatisticsDecoratorStage(); // DependencyStatisticsDecoratorStage dependencyStatisticsDecoratorStage = new DependencyStatisticsDecoratorStage();
super.connectPorts(aggregatedTraceDistributor.getNewOutputPort(), dependencyCreatorStage.getInputPort()); // super.connectPorts(aggregatedTraceDistributor.getNewOutputPort(), dependencyCreatorStage.getInputPort());
super.connectPorts(dependencyCreatorStage.getOutputPort(), dependencyStatisticsDecoratorStage.getInputPort()); // super.connectPorts(dependencyCreatorStage.getOutputPort(), dependencyStatisticsDecoratorStage.getInputPort());
/* /*
* *
...@@ -110,36 +97,4 @@ public class TraceAnalysisConfiguration extends Configuration { ...@@ -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