diff --git a/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java b/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java index dc851b1a8b42ebea7cf1b7c1be1f4b5195a9bef4..b01877090e32c69da43641ecf81b39fafbd7797e 100644 --- a/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java +++ b/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java @@ -19,7 +19,6 @@ import kieker.analysis.trace.traversal.AggrTraceTraverserStage; import kieker.analysis.trace.traversal.NamedGraph; import kieker.analysis.trace.traversal.TraceTraverserStage; import kieker.analysis.traceanalysisdomain.AggregatedOperationCall; -import kieker.analysis.traceanalysisdomain.AggregatedTrace; import kieker.analysis.traceanalysisdomain.OperationCall; import kieker.analysis.traceanalysisdomain.Trace; import kieker.common.record.IMonitoringRecord; @@ -37,12 +36,8 @@ import teetime.stage.basic.distributor.strategy.CopyByReferenceStrategy; public class TraceAnalysisConfiguration extends Configuration { - // TODO Clean up - - private final List<Trace> traces = new ArrayList<>(1000); private final List<OperationCall> operationCalls = new ArrayList<>(1000); private final List<AggregatedOperationCall> aggregatedOperationCalls = new ArrayList<>(1000); - private final List<AggregatedTrace> aggregatedTraces = new ArrayList<>(1000); private final List<KiekerMetadataRecord> metadataRecords = new ArrayList<>(1000); private final TraceReconstructionComposite reconstruction; @@ -54,14 +49,13 @@ public class TraceAnalysisConfiguration extends Configuration { 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(this.aggregatedTraces); + 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(); - this.reconstruction = new TraceReconstructionComposite(this.traces, true); // TODO Temp. - // this.reconstruction = new TraceReconstructionComposite(this.traces, PropertiesModel.getInstance().isAdditionalLogChecks()); + this.reconstruction = new TraceReconstructionComposite(true); // TODO Temp. Get Data from PropertyModel // Connect the stages super.connectPorts(reader.getOutputPort(), allowedRecordsFilter.getInputPort()); @@ -73,7 +67,8 @@ public class TraceAnalysisConfiguration extends Configuration { super.connectPorts(distributor.getNewOutputPort(), aggregation.getInputPort()); super.connectPorts(typeFilter.getOutputPortForType(KiekerMetadataRecord.class), metadataCollector.getInputPort()); - // TODO move to own composite + // Graph Creation + // TODO move to own composite(s) String graphFilesOutputDir = "example/event monitoring log/output"; // TODO Temp hard coded @@ -131,14 +126,6 @@ public class TraceAnalysisConfiguration extends Configuration { return this.allowedRecordsFilter.getIgnoredRecords(); } - public List<Trace> getTracesList() { - return this.traces; - } - - public List<AggregatedTrace> getAggregatedTraces() { - return this.aggregatedTraces; - } - public List<KiekerMetadataRecord> getMetadataRecords() { return this.metadataRecords; } diff --git a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java index 606b2bf7ad0f0710c5ee64c49b050bd8004816fb..a90dbded3e50517f1dd37b44de6e1333ab4aace7 100644 --- a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java +++ b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java @@ -16,8 +16,6 @@ package kieker.analysis.stage.tracediagnosis; -import java.util.List; - import kieker.analysis.traceanalysisdomain.AggregatedTrace; import kieker.analysis.traceanalysisdomain.Trace; @@ -26,26 +24,20 @@ import teetime.framework.InputPort; import teetime.framework.OutputPort; /** - * This is a composite {@code TeeTime} stage which aggregates incoming traces, adds statistical data and stores the aggregated traces. + * This is a composite {@code TeeTime} stage which aggregates incoming traces, adds statistical data and send them to the output port. * - * @author Nils Christian Ehmke + * @author Nils Christian Ehmke, Sören henning */ public final class TraceAggregationComposite extends AbstractCompositeStage { - // TODO Maybe remove CollectorSink because its not longer necessary - private final TraceAggregator aggregator; - // private final CollectorSink<AggregatedTrace> tracesCollector; private final AggregatedTraceStatisticsDecorator statisticsDecorator; - public TraceAggregationComposite(final List<AggregatedTrace> traces) { + public TraceAggregationComposite() { this.aggregator = new TraceAggregator(); this.statisticsDecorator = new AggregatedTraceStatisticsDecorator(); - // this.tracesCollector = new CollectorSink<>(traces); super.connectPorts(this.aggregator.getOutputPort(), this.statisticsDecorator.getInputPort()); - // super.connectPorts(this.statisticsDecorator.getOutputPort(), this.tracesCollector.getInputPort()); - } public InputPort<Trace> getInputPort() { diff --git a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java index 7f38b068ecac64385e96de13f55fd779b89e45ce..8d13a6b25918a16cfc883511713586fa0b552d4c 100644 --- a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java +++ b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java @@ -16,8 +16,6 @@ package kieker.analysis.stage.tracediagnosis; -import java.util.List; - import kieker.analysis.traceanalysisdomain.Trace; import kieker.common.record.IMonitoringRecord; import kieker.common.record.controlflow.OperationExecutionRecord; @@ -26,34 +24,26 @@ import kieker.common.record.flow.IFlowRecord; import teetime.framework.AbstractCompositeStage; import teetime.framework.InputPort; import teetime.framework.OutputPort; -import teetime.stage.CollectorSink; import teetime.stage.MultipleInstanceOfFilter; -import teetime.stage.basic.distributor.Distributor; -import teetime.stage.basic.distributor.strategy.CopyByReferenceStrategy; import teetime.stage.basic.merger.Merger; /** - * This class is a composite {@code TeeTime} stage, which reconstruct traces based on the incoming records, adds statistical data and stores the traces. + * This class is a composite {@code TeeTime} stage, which reconstruct traces based on the incoming records, adds statistical data and send them to the output port. * - * @author Nils Christian Ehmke + * @author Nils Christian Ehmke, Sören Henning */ public final class TraceReconstructionComposite extends AbstractCompositeStage { - // TODO Maybe remove CollectorSink because its not longer necessary - private final MultipleInstanceOfFilter<IMonitoringRecord> typeFilter; - private final CollectorSink<Trace> tracesCollector; private final TraceStatisticsDecorator statisticsDecorator; private final OutputPort<Trace> outputPort; private final LegacyTraceReconstructor legacyReconstructor; private final TraceReconstructor reconstructor; - public TraceReconstructionComposite(final List<Trace> traces, final boolean activateAdditionalLogChecks) { - final Distributor<Trace> distributor = new Distributor<>(new CopyByReferenceStrategy()); + public TraceReconstructionComposite(final boolean activateAdditionalLogChecks) { final Merger<Trace> merger = new Merger<>(); this.typeFilter = new MultipleInstanceOfFilter<>(); - this.tracesCollector = new CollectorSink<>(traces); this.statisticsDecorator = new TraceStatisticsDecorator(); this.reconstructor = new TraceReconstructor(activateAdditionalLogChecks); this.legacyReconstructor = new LegacyTraceReconstructor(); @@ -64,9 +54,7 @@ public final class TraceReconstructionComposite extends AbstractCompositeStage { super.connectPorts(this.typeFilter.getOutputPortForType(OperationExecutionRecord.class), this.legacyReconstructor.getInputPort()); super.connectPorts(this.reconstructor.getOutputPort(), merger.getNewInputPort()); super.connectPorts(this.legacyReconstructor.getOutputPort(), merger.getNewInputPort()); - super.connectPorts(merger.getOutputPort(), distributor.getInputPort()); - super.connectPorts(distributor.getNewOutputPort(), this.tracesCollector.getInputPort()); - super.connectPorts(distributor.getNewOutputPort(), this.statisticsDecorator.getInputPort()); + super.connectPorts(merger.getOutputPort(), this.statisticsDecorator.getInputPort()); }