diff --git a/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java b/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java index 0efbcfd792d13b26fe938e33a38bf790a6f86171..aa053645ca5f680df22a472937b667a00c3f78b1 100644 --- a/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java +++ b/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java @@ -6,9 +6,10 @@ package kieker.analysis; import java.io.File; import kieker.analysis.dev.ComponentStatisticsDecoratorStage; -import kieker.analysis.dev.DotOperationsDependencyExportStage; import kieker.analysis.dev.OperationsStatisticsDecoratorStage; import kieker.analysis.dev.SoftwareSystemCreatorStage; +import kieker.analysis.dev.dependencygraphs.DeploymentDependencyGraphLevel; +import kieker.analysis.dev.dependencygraphs.DotOperationsDependencyExportStage; import kieker.analysis.dev.dependencygraphs.OperationsDependencyGraphCreatorStage; import kieker.analysis.domain.AggregatedTrace; import kieker.analysis.domain.Trace; @@ -99,16 +100,25 @@ public class TraceAnalysisConfiguration extends Configuration { ComponentStatisticsDecoratorStage componentsStatisticsDecorator = new ComponentStatisticsDecoratorStage(); Distributor<SoftwareSystem> x2SoftwareSystemDistributor = new Distributor<>(new CopyByReferenceStrategy()); // TODO name required // ContainerStatisticsDecoratorStage containersStatisticsDecorator = new ContainerStatisticsDecoratorStage(); //TODO remove - OperationsDependencyGraphCreatorStage operationsDependencyGraphCreator = new OperationsDependencyGraphCreatorStage(); // TODO temp - DotOperationsDependencyExportStage dotDependencyExporter = new DotOperationsDependencyExportStage(graphFilesOutputDir); + OperationsDependencyGraphCreatorStage operationsDependencyGraphCreator = new OperationsDependencyGraphCreatorStage(DeploymentDependencyGraphLevel.OPERATION); + DotOperationsDependencyExportStage dotOperationsDependencyExporter = new DotOperationsDependencyExportStage(graphFilesOutputDir); + OperationsDependencyGraphCreatorStage componentDependencyGraphCreator = new OperationsDependencyGraphCreatorStage(DeploymentDependencyGraphLevel.COMPONENT); + DotOperationsDependencyExportStage dotComponentDependencyExporter = new DotOperationsDependencyExportStage(graphFilesOutputDir); + OperationsDependencyGraphCreatorStage containerDependencyGraphCreator = new OperationsDependencyGraphCreatorStage(DeploymentDependencyGraphLevel.CONTAINER); + DotOperationsDependencyExportStage dotContainerDependencyExporter = new DotOperationsDependencyExportStage(graphFilesOutputDir); super.connectPorts(aggregatedTraceDistributor.getNewOutputPort(), softwareSystemCreator.getInputPort()); super.connectPorts(softwareSystemCreator.getOutputPort(), operationsStatisticsDecorator.getInputPort()); super.connectPorts(operationsStatisticsDecorator.getOutputPort(), x1SoftwareSystemDistributor.getInputPort()); + super.connectPorts(x1SoftwareSystemDistributor.getNewOutputPort(), operationsDependencyGraphCreator.getInputPort()); + super.connectPorts(operationsDependencyGraphCreator.getOutputPort(), dotOperationsDependencyExporter.getInputPort()); // super.connectPorts(x1SoftwareSystemDistributor.getNewOutputPort(), componentsStatisticsDecorator.getInputPort()); // super.connectPorts(componentsStatisticsDecorator.getOutputPort(), x2SoftwareSystemDistributor.getInputPort()); - super.connectPorts(x1SoftwareSystemDistributor.getNewOutputPort(), operationsDependencyGraphCreator.getInputPort()); - super.connectPorts(operationsDependencyGraphCreator.getOutputPort(), dotDependencyExporter.getInputPort()); + super.connectPorts(x1SoftwareSystemDistributor.getNewOutputPort(), x2SoftwareSystemDistributor.getInputPort()); + super.connectPorts(x2SoftwareSystemDistributor.getNewOutputPort(), componentDependencyGraphCreator.getInputPort()); + super.connectPorts(componentDependencyGraphCreator.getOutputPort(), dotComponentDependencyExporter.getInputPort()); + super.connectPorts(x2SoftwareSystemDistributor.getNewOutputPort(), containerDependencyGraphCreator.getInputPort()); + super.connectPorts(containerDependencyGraphCreator.getOutputPort(), dotContainerDependencyExporter.getInputPort()); /* * diff --git a/src/main/java/kieker/analysis/dev/dependencygraphs/DeploymentDependencyGraphCreator.java b/src/main/java/kieker/analysis/dev/dependencygraphs/DeploymentDependencyGraphCreator.java index c4fada31a15e33c74363a708166d8ce1c90d8db1..af458a80a289e1f591804f842e4a6837f9b5322d 100644 --- a/src/main/java/kieker/analysis/dev/dependencygraphs/DeploymentDependencyGraphCreator.java +++ b/src/main/java/kieker/analysis/dev/dependencygraphs/DeploymentDependencyGraphCreator.java @@ -32,7 +32,17 @@ public class DeploymentDependencyGraphCreator { public Graph create(final SoftwareSystem softwareSystem) { Graph graph = new GraphImpl(); - graph.setName("OperationsDependencyGraph"); // TODO + switch (this.depth) { + case COMPONENT: + graph.setName("DeploymentComponentsDependencyGraph"); + break; + case CONTAINER: + graph.setName("DeploymentContainersDependencyGraph"); + break; + case OPERATION: + graph.setName("DeploymentOperationsDependencyGraph"); + break; + } for (Container container : softwareSystem.getContainers()) { diff --git a/src/main/java/kieker/analysis/dev/DotOperationsDependencyExportStage.java b/src/main/java/kieker/analysis/dev/dependencygraphs/DotOperationsDependencyExportStage.java similarity index 95% rename from src/main/java/kieker/analysis/dev/DotOperationsDependencyExportStage.java rename to src/main/java/kieker/analysis/dev/dependencygraphs/DotOperationsDependencyExportStage.java index f9bb3ec568d0da63d713039becdf9b4cbb3f6d4b..323a8a45da4d6c51091617e0a9d16d44ddc553ef 100644 --- a/src/main/java/kieker/analysis/dev/DotOperationsDependencyExportStage.java +++ b/src/main/java/kieker/analysis/dev/dependencygraphs/DotOperationsDependencyExportStage.java @@ -1,4 +1,4 @@ -package kieker.analysis.dev; +package kieker.analysis.dev.dependencygraphs; import java.util.function.Function; diff --git a/src/main/java/kieker/analysis/dev/dependencygraphs/OperationsDependencyGraphCreatorStage.java b/src/main/java/kieker/analysis/dev/dependencygraphs/OperationsDependencyGraphCreatorStage.java index 2d33c135140bc793460f6f742262fb4898c22c31..7bd819d13e58b3c321e84e4ceb4fee7528cc0603 100644 --- a/src/main/java/kieker/analysis/dev/dependencygraphs/OperationsDependencyGraphCreatorStage.java +++ b/src/main/java/kieker/analysis/dev/dependencygraphs/OperationsDependencyGraphCreatorStage.java @@ -1,5 +1,7 @@ package kieker.analysis.dev.dependencygraphs; +import java.util.Collection; + import kieker.analysis.domain.systemdependency.SoftwareSystem; import kieker.analysis.util.graph.Graph; @@ -9,8 +11,12 @@ public class OperationsDependencyGraphCreatorStage extends AbstractTransformatio private final DeploymentDependencyGraphCreator graphCreator; - public OperationsDependencyGraphCreatorStage() { - this.graphCreator = new DeploymentDependencyGraphCreator(DeploymentDependencyGraphLevel.OPERATION); + public OperationsDependencyGraphCreatorStage(final DeploymentDependencyGraphLevel depth) { + this.graphCreator = new DeploymentDependencyGraphCreator(depth); + } + + public OperationsDependencyGraphCreatorStage(final DeploymentDependencyGraphLevel depth, final Collection<DeploymentDependencyGraphLevel> relations) { + this.graphCreator = new DeploymentDependencyGraphCreator(depth, relations); } @Override