diff --git a/src/main/java/teetime/framework/Pipeline.java b/src/main/java/teetime/framework/Pipeline.java index f818703d477586c8feda385281aa0c24b1e4953b..efe021216f497e95b7f14a66cde655dea4df029c 100644 --- a/src/main/java/teetime/framework/Pipeline.java +++ b/src/main/java/teetime/framework/Pipeline.java @@ -26,17 +26,17 @@ import java.util.List; * the type of the last stage in this pipeline */ // TODO Consider to move it in the framework -public final class Pipeline<L extends Stage> extends AbstractCompositeStage { +public final class Pipeline<L extends AbstractStage> extends AbstractCompositeStage { - private final Stage firstStage; + private final AbstractStage firstStage; private final List<L> lastStages = new LinkedList<L>(); - public Pipeline(final Stage firstStage, final L lastStage) { + public Pipeline(final AbstractStage firstStage, final L lastStage) { this.firstStage = firstStage; this.lastStages.add(lastStage); } - public Stage getFirstStage() { + public AbstractStage getFirstStage() { return firstStage; } diff --git a/src/main/java/teetime/stage/io/filesystem/Dir2RecordsFilter.java b/src/main/java/teetime/stage/io/filesystem/Dir2RecordsFilter.java index 66189863d431c24d18111993c52372f8aec48148..c22fa6ac1e7e2fd4359e97a7c71b67c2734feded 100644 --- a/src/main/java/teetime/stage/io/filesystem/Dir2RecordsFilter.java +++ b/src/main/java/teetime/stage/io/filesystem/Dir2RecordsFilter.java @@ -17,10 +17,14 @@ package teetime.stage.io.filesystem; import java.io.File; +import kieker.common.record.IMonitoringRecord; +import kieker.common.util.filesystem.BinaryCompressionMethod; +import kieker.common.util.filesystem.FSUtil; + import teetime.framework.AbstractCompositeStage; +import teetime.framework.AbstractStage; import teetime.framework.InputPort; import teetime.framework.OutputPort; -import teetime.framework.Stage; import teetime.stage.FileExtensionSwitch; import teetime.stage.basic.merger.Merger; import teetime.stage.className.ClassNameRegistryCreationFilter; @@ -29,10 +33,6 @@ import teetime.stage.io.Directory2FilesFilter; import teetime.stage.io.filesystem.format.binary.file.BinaryFile2RecordFilter; import teetime.stage.io.filesystem.format.text.file.DatFile2RecordFilter; -import kieker.common.record.IMonitoringRecord; -import kieker.common.util.filesystem.BinaryCompressionMethod; -import kieker.common.util.filesystem.FSUtil; - /** * @author Christian Wulf * @@ -85,7 +85,7 @@ public final class Dir2RecordsFilter extends AbstractCompositeStage { this.classNameRegistryCreationFilter = classNameRegistryCreationFilter; } - public Stage getFirstStage() { + public AbstractStage getFirstStage() { return classNameRegistryCreationFilter; } diff --git a/src/main/java/teetime/stage/io/filesystem/format/binary/DirWithBin2RecordFilter.java b/src/main/java/teetime/stage/io/filesystem/format/binary/DirWithBin2RecordFilter.java index bed16b27225276be0c940dafd871d4a22cf79641..9a405c589f77c504546e55626d8aa205ba7dd3df 100644 --- a/src/main/java/teetime/stage/io/filesystem/format/binary/DirWithBin2RecordFilter.java +++ b/src/main/java/teetime/stage/io/filesystem/format/binary/DirWithBin2RecordFilter.java @@ -17,16 +17,16 @@ package teetime.stage.io.filesystem.format.binary; import java.io.File; +import kieker.common.record.IMonitoringRecord; + import teetime.framework.AbstractCompositeStage; +import teetime.framework.AbstractStage; import teetime.framework.InputPort; import teetime.framework.OutputPort; -import teetime.framework.Stage; import teetime.stage.className.ClassNameRegistryCreationFilter; import teetime.stage.className.ClassNameRegistryRepository; import teetime.stage.io.filesystem.format.binary.file.BinaryFile2RecordFilter; -import kieker.common.record.IMonitoringRecord; - public class DirWithBin2RecordFilter extends AbstractCompositeStage { private final ClassNameRegistryCreationFilter classNameRegistryCreationFilter; @@ -53,7 +53,7 @@ public class DirWithBin2RecordFilter extends AbstractCompositeStage { this.classNameRegistryRepository = classNameRegistryRepository; } - protected Stage getFirstStage() { + protected AbstractStage getFirstStage() { return classNameRegistryCreationFilter; } diff --git a/src/main/java/teetime/stage/io/filesystem/format/text/file/DatFile2RecordFilter.java b/src/main/java/teetime/stage/io/filesystem/format/text/file/DatFile2RecordFilter.java index d2ae9fe419e84f2cf24ee74f044274fa0aa0882f..a5e1f8d4b082b9ff0fa40cc04376f4417ee1a4fc 100644 --- a/src/main/java/teetime/stage/io/filesystem/format/text/file/DatFile2RecordFilter.java +++ b/src/main/java/teetime/stage/io/filesystem/format/text/file/DatFile2RecordFilter.java @@ -17,15 +17,15 @@ package teetime.stage.io.filesystem.format.text.file; import java.io.File; +import kieker.common.record.IMonitoringRecord; + import teetime.framework.AbstractCompositeStage; +import teetime.framework.AbstractStage; import teetime.framework.InputPort; import teetime.framework.OutputPort; -import teetime.framework.Stage; import teetime.stage.className.ClassNameRegistryRepository; import teetime.stage.io.File2TextLinesFilter; -import kieker.common.record.IMonitoringRecord; - /** * @author Christian Wulf * @@ -43,7 +43,7 @@ public class DatFile2RecordFilter extends AbstractCompositeStage { connectPorts(file2TextLinesFilter.getOutputPort(), textLine2RecordFilter.getInputPort()); } - public Stage getFirstStage() { + public AbstractStage getFirstStage() { return file2TextLinesFilter; } diff --git a/src/performancetest/java/teetime/examples/recordReader/RecordReaderConfiguration.java b/src/performancetest/java/teetime/examples/recordReader/RecordReaderConfiguration.java index f50b52208325806eafa34f92f4d230ebd6f1e173..6c9850580a9076cfae51cd69b018a2b2fc8f4a3b 100644 --- a/src/performancetest/java/teetime/examples/recordReader/RecordReaderConfiguration.java +++ b/src/performancetest/java/teetime/examples/recordReader/RecordReaderConfiguration.java @@ -19,15 +19,15 @@ import java.io.File; import java.util.LinkedList; import java.util.List; +import kieker.common.record.IMonitoringRecord; + +import teetime.framework.AbstractStage; import teetime.framework.Configuration; -import teetime.framework.Stage; import teetime.stage.CollectorSink; import teetime.stage.InitialElementProducer; import teetime.stage.className.ClassNameRegistryRepository; import teetime.stage.io.filesystem.Dir2RecordsFilter; -import kieker.common.record.IMonitoringRecord; - /** * @author Christian Wulf * @@ -42,11 +42,11 @@ public class RecordReaderConfiguration extends Configuration { } private void buildConfiguration() { - final Stage producerPipeline = this.buildProducerPipeline(); + final AbstractStage producerPipeline = this.buildProducerPipeline(); declareActive(producerPipeline); } - private Stage buildProducerPipeline() { + private AbstractStage buildProducerPipeline() { ClassNameRegistryRepository classNameRegistryRepository = new ClassNameRegistryRepository(); File logDir = new File("src/test/data/bookstore-logs"); // create stages diff --git a/src/performancetest/java/teetime/examples/traceReading/TcpTraceLoggingExtAnalysisConfiguration.java b/src/performancetest/java/teetime/examples/traceReading/TcpTraceLoggingExtAnalysisConfiguration.java index 1e145c27f2d2a16cb0c28630437dc5d0a48efab0..d624114a3720e59a7c1bc9f788eddf703767acea 100644 --- a/src/performancetest/java/teetime/examples/traceReading/TcpTraceLoggingExtAnalysisConfiguration.java +++ b/src/performancetest/java/teetime/examples/traceReading/TcpTraceLoggingExtAnalysisConfiguration.java @@ -17,9 +17,11 @@ package teetime.examples.traceReading; import java.util.List; +import kieker.common.record.IMonitoringRecord; + +import teetime.framework.AbstractStage; import teetime.framework.Configuration; import teetime.framework.Pipeline; -import teetime.framework.Stage; import teetime.stage.Clock; import teetime.stage.Counter; import teetime.stage.ElementThroughputMeasuringStage; @@ -27,8 +29,6 @@ import teetime.stage.basic.Sink; import teetime.stage.basic.distributor.Distributor; import teetime.stage.io.network.TcpReaderStage; -import kieker.common.record.IMonitoringRecord; - public class TcpTraceLoggingExtAnalysisConfiguration extends Configuration { private Counter<IMonitoringRecord> recordCounter; @@ -41,7 +41,7 @@ public class TcpTraceLoggingExtAnalysisConfiguration extends Configuration { private void init() { final Pipeline<Distributor<Long>> clockPipeline = this.buildClockPipeline(1000); declareActive(clockPipeline.getFirstStage()); - final Stage tcpPipeline = this.buildTcpPipeline(clockPipeline.getLastStage()); + final AbstractStage tcpPipeline = this.buildTcpPipeline(clockPipeline.getLastStage()); declareActive(tcpPipeline); } @@ -56,7 +56,7 @@ public class TcpTraceLoggingExtAnalysisConfiguration extends Configuration { return new Pipeline<Distributor<Long>>(clockStage, distributor); } - private Stage buildTcpPipeline(final Distributor<Long> previousClockStage) { + private AbstractStage buildTcpPipeline(final Distributor<Long> previousClockStage) { TcpReaderStage tcpReader = new TcpReaderStage(); this.recordCounter = new Counter<IMonitoringRecord>(); this.recordThroughputStage = new ElementThroughputMeasuringStage<IMonitoringRecord>(); diff --git a/src/performancetest/java/teetime/examples/traceReconstruction/TcpTraceReconstructionConf.java b/src/performancetest/java/teetime/examples/traceReconstruction/TcpTraceReconstructionConf.java index c05eb5a65729e20d4d07c2612b7ea6ae8d0376f7..c84dd0a1810290ffa47894eafff056af3690bc25 100644 --- a/src/performancetest/java/teetime/examples/traceReconstruction/TcpTraceReconstructionConf.java +++ b/src/performancetest/java/teetime/examples/traceReconstruction/TcpTraceReconstructionConf.java @@ -17,9 +17,12 @@ package teetime.examples.traceReconstruction; import java.util.List; +import kieker.common.record.IMonitoringRecord; +import kieker.common.record.flow.IFlowRecord; + +import teetime.framework.AbstractStage; import teetime.framework.Configuration; import teetime.framework.Pipeline; -import teetime.framework.Stage; import teetime.stage.Clock; import teetime.stage.Counter; import teetime.stage.ElementThroughputMeasuringStage; @@ -32,9 +35,6 @@ import teetime.stage.trace.traceReconstruction.EventBasedTraceFactory; import teetime.stage.trace.traceReconstruction.TraceReconstructionFilter; import teetime.util.ConcurrentHashMapWithDefault; -import kieker.common.record.IMonitoringRecord; -import kieker.common.record.flow.IFlowRecord; - public class TcpTraceReconstructionConf extends Configuration { private static final int MIO = 1000000; @@ -59,7 +59,7 @@ public class TcpTraceReconstructionConf extends Configuration { Pipeline<Distributor<Long>> clock2Stage = this.buildClockPipeline(2000); declareActive(clock2Stage.getFirstStage()); - Stage pipeline = this.buildPipeline(clockStage.getLastStage(), clock2Stage.getLastStage()); + AbstractStage pipeline = this.buildPipeline(clockStage.getLastStage(), clock2Stage.getLastStage()); declareActive(pipeline); } @@ -73,7 +73,7 @@ public class TcpTraceReconstructionConf extends Configuration { return new Pipeline<Distributor<Long>>(clock, distributor); } - private Stage buildPipeline(final Distributor<Long> clockStage, final Distributor<Long> clock2Stage) { + private AbstractStage buildPipeline(final Distributor<Long> clockStage, final Distributor<Long> clock2Stage) { // create stages TcpReaderStage tcpReader = new TcpReaderStage(); this.recordCounter = new Counter<IMonitoringRecord>(); diff --git a/src/performancetest/java/teetime/examples/traceReconstruction/TraceReconstructionConf.java b/src/performancetest/java/teetime/examples/traceReconstruction/TraceReconstructionConf.java index 0afcb0504113fdb7cd703cb0428844697b55890c..717ff484550d90ae56e94f739f07721e899f4bef 100644 --- a/src/performancetest/java/teetime/examples/traceReconstruction/TraceReconstructionConf.java +++ b/src/performancetest/java/teetime/examples/traceReconstruction/TraceReconstructionConf.java @@ -19,8 +19,11 @@ import java.io.File; import java.util.LinkedList; import java.util.List; +import kieker.common.record.IMonitoringRecord; +import kieker.common.record.flow.IFlowRecord; + +import teetime.framework.AbstractStage; import teetime.framework.Configuration; -import teetime.framework.Stage; import teetime.stage.Cache; import teetime.stage.Clock; import teetime.stage.CollectorSink; @@ -39,9 +42,6 @@ import teetime.stage.trace.traceReconstruction.EventBasedTraceFactory; import teetime.stage.trace.traceReconstruction.TraceReconstructionFilter; import teetime.util.ConcurrentHashMapWithDefault; -import kieker.common.record.IMonitoringRecord; -import kieker.common.record.flow.IFlowRecord; - public class TraceReconstructionConf extends Configuration { private final List<EventBasedTrace> elementCollection = new LinkedList<EventBasedTrace>(); @@ -64,7 +64,7 @@ public class TraceReconstructionConf extends Configuration { Clock clockStage = this.buildClockPipeline(); declareActive(clockStage); - Stage pipeline = this.buildPipeline(clockStage); + AbstractStage pipeline = this.buildPipeline(clockStage); declareActive(pipeline); } @@ -75,7 +75,7 @@ public class TraceReconstructionConf extends Configuration { return clock; } - private Stage buildPipeline(final Clock clockStage) { + private AbstractStage buildPipeline(final Clock clockStage) { this.classNameRegistryRepository = new ClassNameRegistryRepository(); // create stages diff --git a/src/performancetest/java/teetime/examples/traceReconstructionWithThreads/TcpTraceReconstructionAnalysisWithThreadsConfiguration.java b/src/performancetest/java/teetime/examples/traceReconstructionWithThreads/TcpTraceReconstructionAnalysisWithThreadsConfiguration.java index 6484124baa62987c0d606cdca3ad0510fb571a2f..47a284c7c76b36410b6db8fe0ccfd5a99d05855c 100644 --- a/src/performancetest/java/teetime/examples/traceReconstructionWithThreads/TcpTraceReconstructionAnalysisWithThreadsConfiguration.java +++ b/src/performancetest/java/teetime/examples/traceReconstructionWithThreads/TcpTraceReconstructionAnalysisWithThreadsConfiguration.java @@ -21,10 +21,13 @@ import java.util.ArrayList; import java.util.LinkedList; import java.util.List; +import kieker.common.record.IMonitoringRecord; +import kieker.common.record.flow.IFlowRecord; +import kieker.common.record.flow.trace.TraceMetadata; + import teetime.framework.AbstractStage; import teetime.framework.Configuration; import teetime.framework.Pipeline; -import teetime.framework.Stage; import teetime.framework.pipe.IMonitorablePipe; import teetime.stage.Clock; import teetime.stage.Counter; @@ -41,10 +44,6 @@ import teetime.stage.trace.traceReconstruction.EventBasedTraceFactory; import teetime.stage.trace.traceReconstruction.TraceReconstructionFilter; import teetime.util.ConcurrentHashMapWithDefault; -import kieker.common.record.IMonitoringRecord; -import kieker.common.record.flow.IFlowRecord; -import kieker.common.record.flow.trace.TraceMetadata; - public class TcpTraceReconstructionAnalysisWithThreadsConfiguration extends Configuration { private static final int NUM_VIRTUAL_CORES = Runtime.getRuntime().availableProcessors(); @@ -101,7 +100,7 @@ public class TcpTraceReconstructionAnalysisWithThreadsConfiguration extends Conf declareActive(clock2Stage.getFirstStage()); for (int i = 0; i < this.numWorkerThreads; i++) { - Stage pipeline = this.buildPipeline(tcpPipeline.getLastStage(), clockStage.getLastStage(), clock2Stage.getLastStage()); + AbstractStage pipeline = this.buildPipeline(tcpPipeline.getLastStage(), clockStage.getLastStage(), clock2Stage.getLastStage()); declareActive(pipeline); } } @@ -156,7 +155,7 @@ public class TcpTraceReconstructionAnalysisWithThreadsConfiguration extends Conf } } - private Stage buildPipeline(final Distributor<IMonitoringRecord> tcpReaderPipeline, final Distributor<Long> clockStage, + private AbstractStage buildPipeline(final Distributor<IMonitoringRecord> tcpReaderPipeline, final Distributor<Long> clockStage, final Distributor<Long> clock2Stage) { // create stages Relay<IMonitoringRecord> relay = new Relay<IMonitoringRecord>(); diff --git a/src/performancetest/java/teetime/examples/traceReductionWithThreads/TcpTraceReductionAnalysisWithThreadsConfiguration.java b/src/performancetest/java/teetime/examples/traceReductionWithThreads/TcpTraceReductionAnalysisWithThreadsConfiguration.java index ebea3fcdabeb5be84c6c2dc468a4064e639663a4..606724385bb1164774ed4df6e28802a8f52371ce 100644 --- a/src/performancetest/java/teetime/examples/traceReductionWithThreads/TcpTraceReductionAnalysisWithThreadsConfiguration.java +++ b/src/performancetest/java/teetime/examples/traceReductionWithThreads/TcpTraceReductionAnalysisWithThreadsConfiguration.java @@ -23,10 +23,13 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; +import kieker.common.record.IMonitoringRecord; +import kieker.common.record.flow.IFlowRecord; +import kieker.common.record.flow.trace.TraceMetadata; + import teetime.framework.AbstractStage; import teetime.framework.Configuration; import teetime.framework.Pipeline; -import teetime.framework.Stage; import teetime.framework.pipe.IMonitorablePipe; import teetime.stage.Clock; import teetime.stage.Counter; @@ -46,10 +49,6 @@ import teetime.stage.trace.traceReduction.TraceAggregationBuffer; import teetime.stage.trace.traceReduction.TraceReductionFilter; import teetime.util.ConcurrentHashMapWithDefault; -import kieker.common.record.IMonitoringRecord; -import kieker.common.record.flow.IFlowRecord; -import kieker.common.record.flow.trace.TraceMetadata; - public class TcpTraceReductionAnalysisWithThreadsConfiguration extends Configuration { private static final int NUM_VIRTUAL_CORES = Runtime.getRuntime().availableProcessors(); @@ -97,7 +96,7 @@ public class TcpTraceReductionAnalysisWithThreadsConfiguration extends Configura declareActive(clock2Stage.getFirstStage()); for (int i = 0; i < this.numWorkerThreads; i++) { - final Stage pipeline = this.buildPipeline(tcpPipeline, clockStage, clock2Stage); + final AbstractStage pipeline = this.buildPipeline(tcpPipeline, clockStage, clock2Stage); declareActive(pipeline); } } @@ -158,7 +157,7 @@ public class TcpTraceReductionAnalysisWithThreadsConfiguration extends Configura private final StageFactory<Counter<TraceAggregationBuffer>> traceCounterFactory; private final StageFactory<ElementThroughputMeasuringStage<TraceAggregationBuffer>> traceThroughputFilterFactory; - private Stage buildPipeline(final Pipeline<Distributor<IMonitoringRecord>> tcpPipeline, final Pipeline<Distributor<Long>> clockStage, + private AbstractStage buildPipeline(final Pipeline<Distributor<IMonitoringRecord>> tcpPipeline, final Pipeline<Distributor<Long>> clockStage, final Pipeline<Distributor<Long>> clock2Stage) { // create stages Relay<IMonitoringRecord> relay = new Relay<IMonitoringRecord>(); diff --git a/src/test/java/dummy b/src/test/java/dummy deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/test/java/teetime/stage/io/filesystem/Dir2RecordsFilterTest.java b/src/test/java/teetime/stage/io/filesystem/Dir2RecordsFilterTest.java index dc3f1d3242f1b3dd6159d5348f5b11172dc2f409..486bba06441487ef96a52b9c0a4e68c8be0abfb3 100644 --- a/src/test/java/teetime/stage/io/filesystem/Dir2RecordsFilterTest.java +++ b/src/test/java/teetime/stage/io/filesystem/Dir2RecordsFilterTest.java @@ -19,17 +19,17 @@ import java.io.File; import org.junit.Test; +import kieker.common.record.IMonitoringRecord; + import teetime.framework.AbstractCompositeStage; +import teetime.framework.AbstractStage; import teetime.framework.Configuration; import teetime.framework.Execution; import teetime.framework.OutputPort; -import teetime.framework.Stage; import teetime.stage.InitialElementProducer; import teetime.stage.className.ClassNameRegistryRepository; import teetime.stage.io.Printer; -import kieker.common.record.IMonitoringRecord; - public class Dir2RecordsFilterTest { class TestConfiguration extends Configuration { @@ -59,7 +59,7 @@ public class Dir2RecordsFilterTest { return this.reader.getOutputPort(); } - public Stage getFirstStage() { + public AbstractStage getFirstStage() { return this.producer; }